diff --git a/app/src/main/java/com/hippo/app/SilentContextWrapper.java b/app/src/main/java/com/hippo/app/SilentContextWrapper.java deleted file mode 100644 index 1bbbdf83f..000000000 --- a/app/src/main/java/com/hippo/app/SilentContextWrapper.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2018 Hippo Seven - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.hippo.app; - -import android.content.ComponentName; -import android.content.Context; -import android.content.ContextWrapper; -import android.content.Intent; -import com.hippo.util.ExceptionUtils; -import java.lang.reflect.Field; - -public class SilentContextWrapper extends ContextWrapper { - - public SilentContextWrapper(Context base) { - super(base); - } - - @Override - public ComponentName startService(Intent service) { - try { - return super.startService(service); - } catch (Throwable t) { - ExceptionUtils.throwIfFatal(t); - return null; - } - } - - public static void attach(ContextWrapper context) { - // Get root ContextWrapper - for (;;) { - Context baseContext = context.getBaseContext(); - if (baseContext instanceof ContextWrapper) { - context = (ContextWrapper) baseContext; - } else { - break; - } - } - - try { - Field field = ContextWrapper.class.getDeclaredField("mBase"); - field.setAccessible(true); - field.set(context, new SilentContextWrapper(context.getBaseContext())); - } catch (Throwable t) { - ExceptionUtils.throwIfFatal(t); - } - } -} diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.java b/app/src/main/java/com/hippo/ehviewer/EhApplication.java index 75556c831..0702d6c5f 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.java +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.java @@ -19,7 +19,9 @@ package com.hippo.ehviewer; import android.annotation.SuppressLint; import android.app.Activity; import android.content.ComponentCallbacks2; +import android.content.ComponentName; import android.content.Context; +import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.AsyncTask; @@ -28,7 +30,6 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.util.LruCache; import android.util.Log; -import com.hippo.app.SilentContextWrapper; import com.hippo.beerbelly.SimpleDiskCache; import com.hippo.conaco.Conaco; import com.hippo.content.RecordingApplication; @@ -89,8 +90,6 @@ public class EhApplication extends RecordingApplication { @SuppressLint("StaticFieldLeak") @Override public void onCreate() { - SilentContextWrapper.attach(this); - super.onCreate(); GetText.initialize(this); @@ -358,4 +357,14 @@ public class EhApplication extends RecordingApplication { return null; } } + + @Override + public ComponentName startService(Intent service) { + try { + return super.startService(service); + } catch (Throwable t) { + ExceptionUtils.throwIfFatal(t); + return null; + } + } }