summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jared Duke <jdduke@google.com> 2023-11-07 16:52:57 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-11-07 16:52:57 +0000
commit512cf072b4b9efe2dc9971100e55d9b9676b4cf6 (patch)
tree116f7d2484baef5e25c7375976ed26ba652c68a3
parent2e4c7d4e3b180188d82fabc1fe12bbef89bb0b88 (diff)
parent681d87f86f7929ea2125b21cc47265b34565c484 (diff)
Merge "Update keep rules for SystemUI tuner package" into main
-rw-r--r--packages/SystemUI/proguard_common.flags2
-rw-r--r--packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/tuner/OtherPrefs.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java9
4 files changed, 19 insertions, 2 deletions
diff --git a/packages/SystemUI/proguard_common.flags b/packages/SystemUI/proguard_common.flags
index 445bdc2c1936..73ae59abcadf 100644
--- a/packages/SystemUI/proguard_common.flags
+++ b/packages/SystemUI/proguard_common.flags
@@ -20,8 +20,6 @@
public <init>(android.content.Context, android.util.AttributeSet);
}
--keep class com.android.systemui.tuner.*
-
# The plugins and core log subpackages act as shared libraries that might be referenced in
# dynamically-loaded plugin APKs.
-keep class com.android.systemui.plugins.** {
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java
index 771a8c8a0cfd..799e5af7e01d 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java
@@ -48,6 +48,8 @@ import com.android.systemui.statusbar.phone.ExpandableIndicator;
import com.android.systemui.statusbar.policy.ExtensionController.TunerFactory;
import com.android.systemui.tuner.ShortcutParser.Shortcut;
import com.android.systemui.tuner.TunerService.Tunable;
+import com.android.tools.r8.keepanno.annotations.KeepTarget;
+import com.android.tools.r8.keepanno.annotations.UsesReflection;
import java.util.ArrayList;
import java.util.Map;
@@ -69,6 +71,9 @@ public class LockscreenFragment extends PreferenceFragment {
private TunerService mTunerService;
private Handler mHandler;
+ // aapt doesn't generate keep rules for android:fragment references in <Preference> tags, so
+ // explicitly declare references per usage in `R.xml.lockscreen_settings`. See b/120445169.
+ @UsesReflection(@KeepTarget(classConstant = ShortcutPicker.class))
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
mTunerService = Dependency.get(TunerService.class);
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/OtherPrefs.java b/packages/SystemUI/src/com/android/systemui/tuner/OtherPrefs.java
index 32b1b2607323..8d8599900530 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/OtherPrefs.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/OtherPrefs.java
@@ -19,8 +19,13 @@ import android.os.Bundle;
import androidx.preference.PreferenceFragment;
import com.android.systemui.res.R;
+import com.android.tools.r8.keepanno.annotations.KeepTarget;
+import com.android.tools.r8.keepanno.annotations.UsesReflection;
public class OtherPrefs extends PreferenceFragment {
+ // aapt doesn't generate keep rules for android:fragment references in <Preference> tags, so
+ // explicitly declare references per usage in `R.xml.other_settings`. See b/120445169.
+ @UsesReflection(@KeepTarget(classConstant = PowerNotificationControlsFragment.class))
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.other_settings);
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
index 9cc526a1c0f3..873b6d55de75 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
@@ -35,6 +35,8 @@ import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.res.R;
import com.android.systemui.shared.plugins.PluginPrefs;
+import com.android.tools.r8.keepanno.annotations.KeepTarget;
+import com.android.tools.r8.keepanno.annotations.UsesReflection;
public class TunerFragment extends PreferenceFragment {
@@ -77,6 +79,13 @@ public class TunerFragment extends PreferenceFragment {
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
}
+ // aapt doesn't generate keep rules for android:fragment references in <Preference> tags, so
+ // explicitly declare references per usage in `R.xml.tuner_prefs`. See b/120445169.
+ @UsesReflection({
+ @KeepTarget(classConstant = LockscreenFragment.class),
+ @KeepTarget(classConstant = NavBarTuner.class),
+ @KeepTarget(classConstant = PluginFragment.class),
+ })
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.tuner_prefs);