Merge pull request #10120 from brave/android_autoplay

Android autoplay
This commit is contained in:
wchen342
2021-09-27 17:56:27 -04:00
committed by GitHub
26 changed files with 717 additions and 22 deletions
+29
View File
@@ -278,6 +278,7 @@
-keep class org.chromium.components.browser_ui.site_settings.SingleCategorySettings {
public <init>(...);
*** onOptionsItemSelected(...);
}
-keep class org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate {
@@ -375,3 +376,31 @@
-keep class org.chromium.chrome.browser.share.BraveShareDelegateImpl {
public <init>(...);
}
-keep class org.chromium.components.browser_ui.site_settings.ContentSettingsResources$ResourceItem {
public <init>(...);
}
-keep class org.chromium.components.browser_ui.site_settings.WebsitePermissionsFetcher {
*** getPermissionsType(...);
}
-keep class org.chromium.components.browser_ui.site_settings.SingleWebsiteSettings {
public <init>(...);
}
-keep class org.chromium.components.browser_ui.site_settings.BraveSingleWebsiteSettings {
public <init>(...);
}
-keep class org.chromium.components.browser_ui.site_settings.Website {
public <init>(...);
}
-keep class org.chromium.components.browser_ui.site_settings.BraveWebsite {
public <init>(...);
}
-keep class org.chromium.components.browser_ui.site_settings.BraveContentSettingsResources {
*** getResourceItem(...);
}
@@ -8,6 +8,7 @@ package org.chromium.base;
import org.chromium.base.Log;
import java.lang.Class;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -37,6 +38,7 @@ public class BraveReflectionUtil {
}
}
Method toInvoke = methodOwner.getDeclaredMethod(method, parameterTypes);
if (!toInvoke.isAccessible()) toInvoke.setAccessible(true);
try {
return toInvoke.invoke(obj, args);
} catch (IllegalAccessException e) {
@@ -53,6 +55,21 @@ public class BraveReflectionUtil {
return null;
}
public static Object getField(Class ownerClass, String fieldName, Object obj) {
try {
Field field = ownerClass.getDeclaredField(fieldName);
if (!field.isAccessible()) field.setAccessible(true);
return field.get(obj);
} catch (NoSuchFieldException e) {
Log.e(TAG, "Field not found: " + e);
assert (false);
} catch (SecurityException | IllegalArgumentException | IllegalAccessException e) {
Log.e(TAG, "Get field failed: " + e);
assert (false);
}
return null;
}
// Types should be compatible after bytecode patching
@SuppressWarnings("EqualsIncompatibleType")
public static Boolean EqualTypes(Class type1, Class type2) {
+25
View File
@@ -8,3 +8,28 @@
-keep class org.chromium.chrome.browser.ChromeTabbedActivity {
*** hideOverview(...);
}
-keep class org.chromium.components.browser_ui.site_settings.ContentSettingsResources {
*** getResourceItem(...);
}
-keep class org.chromium.components.browser_ui.site_settings.SingleCategorySettings {
*** mCategory;
*** getAddExceptionDialogMessage(...);
*** resetList(...);
}
-keep class org.chromium.components.browser_ui.site_settings.SingleWebsiteSettings {
*** mSite;
*** getPreferenceKey(...);
*** setupContentSettingsPreferences(...);
*** setupContentSettingsPreference(...);
}
-keep class org.chromium.components.browser_ui.site_settings.Website {
*** getPermissionInfo(...);
*** getContentSettingException(...);
*** getAddress(...);
*** setContentSettingException(...);
*** setContentSetting(...);
}