summaryrefslogtreecommitdiff
authorXiaoliang 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)
commite210762d68d1640ed27d5278e42265ceec8cd688 (patch)
tree425f4fbcc51e4ebc8cf9a2fc2b462ce0455a9cad
parent57f92ead67d60ee7a16801c6af15928ee40ea6e0 (diff)
downloadSubTitle-e210762d68d1640ed27d5278e42265ceec8cd688.zip
SubTitle-e210762d68d1640ed27d5278e42265ceec8cd688.tar.gz
SubTitle-e210762d68d1640ed27d5278e42265ceec8cd688.tar.bz2
fix subtitle crash for android-o
Change-Id: I86a0da2017e8b9b458817397b8e32884a9532549
Diffstat
-rw-r--r--jni/Android.mk1
-rw-r--r--jni/ccsub/Android.bac (renamed from jni/ccsub/Android.mk)5
-rw-r--r--jni/subtitle/Android.mk4
-rw-r--r--service/Android.mk7
-rw-r--r--src/com/droidlogic/SubTitleService/SubTitleService.java26
-rw-r--r--src/com/subtitleview/CcSubView.java10
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");
}