author | Xiaoliang Wang <xiaoliang.wang@amlogic.com> | 2017-06-29 06:27:13 (GMT) |
---|---|---|
committer | Xiaoliang Wang <xiaoliang.wang@amlogic.com> | 2017-06-29 06:27:13 (GMT) |
commit | e210762d68d1640ed27d5278e42265ceec8cd688 (patch) | |
tree | 425f4fbcc51e4ebc8cf9a2fc2b462ce0455a9cad | |
parent | 57f92ead67d60ee7a16801c6af15928ee40ea6e0 (diff) | |
download | SubTitle-e210762d68d1640ed27d5278e42265ceec8cd688.zip SubTitle-e210762d68d1640ed27d5278e42265ceec8cd688.tar.gz SubTitle-e210762d68d1640ed27d5278e42265ceec8cd688.tar.bz2 |
fix subtitle crash for android-o
Change-Id: I86a0da2017e8b9b458817397b8e32884a9532549
-rw-r--r-- | jni/Android.mk | 1 | ||||
-rw-r--r-- | jni/ccsub/Android.bac (renamed from jni/ccsub/Android.mk) | 5 | ||||
-rw-r--r-- | jni/subtitle/Android.mk | 4 | ||||
-rw-r--r-- | service/Android.mk | 7 | ||||
-rw-r--r-- | src/com/droidlogic/SubTitleService/SubTitleService.java | 26 | ||||
-rw-r--r-- | src/com/subtitleview/CcSubView.java | 10 |
6 files changed, 40 insertions, 13 deletions
diff --git a/jni/Android.mk b/jni/Android.mk new file mode 100644 index 0000000..5053e7d --- a/dev/null +++ b/jni/Android.mk @@ -0,0 +1 @@ +include $(call all-subdir-makefiles) diff --git a/jni/ccsub/Android.mk b/jni/ccsub/Android.bac index 5edd2e2..6717413 100644 --- a/jni/ccsub/Android.mk +++ b/jni/ccsub/Android.bac @@ -26,4 +26,9 @@ LOCAL_C_INCLUDES := external/libzvbi/src \ LOCAL_SHARED_LIBRARIES += libjnigraphics libzvbi libam_mw libam_adp libskia liblog libcutils LOCAL_PRELINK_MODULE := false + +ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo OK),OK) +LOCAL_PROPRIETARY_MODULE := true +endif + include $(BUILD_SHARED_LIBRARY) diff --git a/jni/subtitle/Android.mk b/jni/subtitle/Android.mk index 31fbc10..9479d27 100644 --- a/jni/subtitle/Android.mk +++ b/jni/subtitle/Android.mk @@ -14,4 +14,8 @@ LOCAL_SHARED_LIBRARIES += libutils libmedia libcutils libbinder libsystemcontrol LOCAL_PRELINK_MODULE := false +ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo OK),OK) +LOCAL_PROPRIETARY_MODULE := true +endif + include $(BUILD_SHARED_LIBRARY) diff --git a/service/Android.mk b/service/Android.mk index 3dfc87d..5864b11 100644 --- a/service/Android.mk +++ b/service/Android.mk @@ -7,10 +7,15 @@ LOCAL_SRC_FILES:= \ LOCAL_SHARED_LIBRARIES := \ libutils \ libcutils \ - libbinder + libbinder \ + liblog LOCAL_MODULE:= libsubtitleservice LOCAL_MODULE_TAGS := optional +ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo OK),OK) +LOCAL_PROPRIETARY_MODULE := true +endif + include $(BUILD_SHARED_LIBRARY)
\ No newline at end of file diff --git a/src/com/droidlogic/SubTitleService/SubTitleService.java b/src/com/droidlogic/SubTitleService/SubTitleService.java index 4065bd4..5e21230 100644 --- a/src/com/droidlogic/SubTitleService/SubTitleService.java +++ b/src/com/droidlogic/SubTitleService/SubTitleService.java @@ -106,6 +106,7 @@ public class SubTitleService extends ISubTitleService.Stub { //ccsubtitleview private CcSubView ccSubView = null; private boolean isccrunning = false; + private boolean mCCSupport = false; public SubTitleService(Context context) { LOGI("[SubTitleService]"); @@ -129,7 +130,10 @@ public class SubTitleService extends ISubTitleService.Stub { subTitleView.setTextSize(20); subTitleView.setTextStyle(Typeface.NORMAL); subTitleView.setViewStatus(true); - ccSubView = (CcSubView) mSubView.findViewById(R.id.ccsubtitle); + mCCSupport = SystemProperties.getBoolean("sys.subtitleService.ccsupport", false); + if (mCCSupport) { + ccSubView = (CcSubView) mSubView.findViewById(R.id.ccsubtitle); + } new Thread(new Runnable() { public void run() { @@ -404,11 +408,15 @@ public class SubTitleService extends ISubTitleService.Stub { } public void StartCcSub() { - sendStartCcSubMsg(); + if (mCCSupport) { + sendStartCcSubMsg(); + } } public void StopCcSub() { - sendStopCcSubMsg(); + if (mCCSupport) { + sendStopCcSubMsg(); + } } private void sendStartCcSubMsg() { @@ -422,7 +430,7 @@ public class SubTitleService extends ISubTitleService.Stub { } private void ccStart() { - if (!isccrunning) { + if (!isccrunning && mCCSupport) { LOGI("cc subtitle start"); ccSubView.startCC(); ccSubView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); @@ -433,7 +441,7 @@ public class SubTitleService extends ISubTitleService.Stub { } private void ccStop() { - if (isccrunning) { + if (isccrunning && mCCSupport) { LOGI("cc subtitle stop"); isccrunning = false; ccSubView.hide(); @@ -843,7 +851,9 @@ public class SubTitleService extends ISubTitleService.Stub { subTitleView.setVisibility (View.GONE); subShowState = SUB_OFF; } - ccSubView.hide(); + if (mCCSupport) { + ccSubView.hide(); + } break; case DISPLAY: @@ -851,7 +861,9 @@ public class SubTitleService extends ISubTitleService.Stub { subTitleView.setVisibility (View.VISIBLE); subShowState = SUB_ON; } - ccSubView.show(); + if (mCCSupport) { + ccSubView.show(); + } break; case CLEAR: diff --git a/src/com/subtitleview/CcSubView.java b/src/com/subtitleview/CcSubView.java index 25e5fed..50086f4 100644 --- a/src/com/subtitleview/CcSubView.java +++ b/src/com/subtitleview/CcSubView.java @@ -39,17 +39,17 @@ public class CcSubView extends View { private native int native_cc_set_active(boolean active); static{ - System.loadLibrary("am_adp"); - System.loadLibrary("am_mw"); - System.loadLibrary("zvbi"); - System.loadLibrary("ccsubjni"); + //System.loadLibrary("am_adp"); + //System.loadLibrary("am_mw"); + //System.loadLibrary("zvbi"); + //System.loadLibrary("ccsubjni"); } private void init(){ if (bitmap == null) { bitmap = Bitmap.createBitmap(BUFFER_W, BUFFER_H, Bitmap.Config.ARGB_8888); } - native_cc_init(); + //native_cc_init(); Log.d(TAG, "native init"); } |