Loading res/xml/transcode_settings.xml +1 −1 Original line number Diff line number Diff line Loading @@ -29,5 +29,5 @@ <PreferenceCategory android:key="transcode_skip_apps" android:title="@string/transcode_skip_apps" settings:controller="com.android.settings.development.transcode.TranscodeSkipAppsPreferenceController" /> settings:controller="com.android.settings.development.transcode.TranscodeAppsPreferenceController" /> </PreferenceScreen> src/com/android/settings/development/transcode/TranscodeSkipAppsPreferenceController.java→src/com/android/settings/development/transcode/TranscodeAppsPreferenceController.java +14 −14 Original line number Diff line number Diff line Loading @@ -33,19 +33,19 @@ import java.util.Arrays; import java.util.List; /** * The controller for the "Skip transcoding for apps" section on the transcode settings * The controller for the "Enable transcoding for apps" section on the transcode settings * screen. */ public class TranscodeSkipAppsPreferenceController extends BasePreferenceController implements public class TranscodeAppsPreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { private static final String SKIP_SELECTED_APPS_PROP_KEY = "persist.sys.fuse.transcode_skip_uids"; private static final String TRANSCODE_SELECTED_APPS_PROP_KEY = "persist.sys.fuse.transcode_uids"; private final PackageManager mPackageManager; private final List<String> mUidsToSkip = new ArrayList<>(); private final List<String> mUids = new ArrayList<>(); public TranscodeSkipAppsPreferenceController(Context context, public TranscodeAppsPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mPackageManager = context.getPackageManager(); Loading @@ -60,8 +60,8 @@ public class TranscodeSkipAppsPreferenceController extends BasePreferenceControl public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); final Context context = screen.getContext(); mUidsToSkip.addAll(Arrays.asList( SystemProperties.get(SKIP_SELECTED_APPS_PROP_KEY).split(","))); mUids.addAll(Arrays.asList( SystemProperties.get(TRANSCODE_SELECTED_APPS_PROP_KEY).split(","))); Intent launcherIntent = new Intent(Intent.ACTION_MAIN); launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER); List<ResolveInfo> apps = mPackageManager.queryIntentActivities(launcherIntent, 0); Loading @@ -71,7 +71,7 @@ public class TranscodeSkipAppsPreferenceController extends BasePreferenceControl preference.setTitle(app.loadLabel(mPackageManager)); preference.setIcon(app.loadIcon(mPackageManager)); preference.setKey(uid); preference.setChecked(isSkippedForTranscoding(uid)); preference.setChecked(isSelectedForTranscoding(uid)); preference.setOnPreferenceChangeListener(this); screen.addPreference(preference); Loading @@ -83,15 +83,15 @@ public class TranscodeSkipAppsPreferenceController extends BasePreferenceControl boolean value = (Boolean) o; String uidStr = preference.getKey(); if (value) { mUidsToSkip.add(uidStr); mUids.add(uidStr); } else { mUidsToSkip.remove(uidStr); mUids.remove(uidStr); } SystemProperties.set(SKIP_SELECTED_APPS_PROP_KEY, String.join(",", mUidsToSkip)); SystemProperties.set(TRANSCODE_SELECTED_APPS_PROP_KEY, String.join(",", mUids)); return true; } private boolean isSkippedForTranscoding(String uid) { return mUidsToSkip.contains(uid); private boolean isSelectedForTranscoding(String uid) { return mUids.contains(uid); } } src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java +3 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import android.os.SystemProperties; import com.android.settings.core.TogglePreferenceController; /** * The controller for the "Enable transcode for all apps" switch on the transcode settings * The controller for the "Disable transcoding for all apps" switch on the transcode settings * screen. */ public class TranscodeGlobalTogglePreferenceController extends TogglePreferenceController { Loading @@ -41,12 +41,12 @@ public class TranscodeGlobalTogglePreferenceController extends TogglePreferenceC @Override public boolean isChecked() { return SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, false); return !SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, false); } @Override public boolean setChecked(boolean isChecked) { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, String.valueOf(isChecked)); SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, String.valueOf(!isChecked)); return true; } } tests/robotests/src/com/android/settings/development/transcode/TranscodeSkipAppsPreferenceControllerTest.java→tests/robotests/src/com/android/settings/development/transcode/TranscodeAppsPreferenceControllerTest.java +15 −15 Original line number Diff line number Diff line Loading @@ -51,24 +51,24 @@ import org.robolectric.shadows.ShadowPackageManager; import java.util.Collections; @RunWith(RobolectricTestRunner.class) public class TranscodeSkipAppsPreferenceControllerTest { public class TranscodeAppsPreferenceControllerTest { private static final int APPLICATION_UID = 1234; private static final String SKIP_SELECTED_APPS_PROP_KEY = "persist.sys.fuse.transcode_skip_uids"; private static final String TRANSCODE_SELECTED_APPS_PROP_KEY = "persist.sys.fuse.transcode_uids"; @Mock private PreferenceScreen mScreen; private Context mContext; private ShadowPackageManager mShadowPackageManager; private TranscodeSkipAppsPreferenceController mController; private TranscodeAppsPreferenceController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = ApplicationProvider.getApplicationContext(); mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager()); mController = new TranscodeSkipAppsPreferenceController(mContext, "test_key"); mController = new TranscodeAppsPreferenceController(mContext, "test_key"); Preference preference = new Preference(mContext); when(mScreen.getContext()).thenReturn(mContext); Loading Loading @@ -99,28 +99,28 @@ public class TranscodeSkipAppsPreferenceControllerTest { } @Test public void preferenceChecked_shouldSkipApp() { // First ensure that the app is not in skip list. SystemProperties.set(SKIP_SELECTED_APPS_PROP_KEY, String.valueOf(-1)); public void preferenceChecked_shouldSelectApp() { // First ensure that the app is not selected. SystemProperties.set(TRANSCODE_SELECTED_APPS_PROP_KEY, String.valueOf(-1)); SwitchPreference switchPreference = createPreference(/* defaultCheckedState = */ false); switchPreference.performClick(); // Verify that the app is added to skip list. assertThat(SystemProperties.get(SKIP_SELECTED_APPS_PROP_KEY)).contains( // Verify that the app is selected. assertThat(SystemProperties.get(TRANSCODE_SELECTED_APPS_PROP_KEY)).contains( String.valueOf(APPLICATION_UID)); } @Test public void preferenceUnchecked_shouldNotSkipApp() { // First ensure that the app is in skip list. SystemProperties.set(SKIP_SELECTED_APPS_PROP_KEY, String.valueOf(APPLICATION_UID)); public void preferenceUnchecked_shouldUnSelectApp() { // First ensure that the app is selected. SystemProperties.set(TRANSCODE_SELECTED_APPS_PROP_KEY, String.valueOf(APPLICATION_UID)); SwitchPreference switchPreference = createPreference(/* defaultCheckedState = */ true); switchPreference.performClick(); // Verify that the app is removed from skip list. assertThat(SystemProperties.get(SKIP_SELECTED_APPS_PROP_KEY)).doesNotContain( // Verify that the app is not selected. assertThat(SystemProperties.get(TRANSCODE_SELECTED_APPS_PROP_KEY)).doesNotContain( String.valueOf(APPLICATION_UID)); } Loading tests/robotests/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java +8 −8 Original line number Diff line number Diff line Loading @@ -47,14 +47,14 @@ public class TranscodeGlobalTogglePreferenceControllerTest { } @Test public void isChecked_whenEnabled_shouldReturnTrue() { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, "true"); public void isChecked_whenDisabled_shouldReturnTrue() { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, "false"); assertThat(mController.isChecked()).isTrue(); } @Test public void isChecked_whenDisabled_shouldReturnTrue() { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, "false"); public void isChecked_whenEnabled_shouldReturnFalse() { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, "true"); assertThat(mController.isChecked()).isFalse(); } Loading @@ -63,8 +63,8 @@ public class TranscodeGlobalTogglePreferenceControllerTest { // Simulate the UI being clicked. mController.setChecked(true); // Verify the system property was updated with the UI value. assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, false)).isTrue(); // Verify the system property was updated. assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, true)).isFalse(); } @Test Loading @@ -72,7 +72,7 @@ public class TranscodeGlobalTogglePreferenceControllerTest { // Simulate the UI being clicked. mController.setChecked(false); // Verify the system property was updated with the UI value. assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, true)).isFalse(); // Verify the system property was updated. assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, false)).isTrue(); } } Loading
res/xml/transcode_settings.xml +1 −1 Original line number Diff line number Diff line Loading @@ -29,5 +29,5 @@ <PreferenceCategory android:key="transcode_skip_apps" android:title="@string/transcode_skip_apps" settings:controller="com.android.settings.development.transcode.TranscodeSkipAppsPreferenceController" /> settings:controller="com.android.settings.development.transcode.TranscodeAppsPreferenceController" /> </PreferenceScreen>
src/com/android/settings/development/transcode/TranscodeSkipAppsPreferenceController.java→src/com/android/settings/development/transcode/TranscodeAppsPreferenceController.java +14 −14 Original line number Diff line number Diff line Loading @@ -33,19 +33,19 @@ import java.util.Arrays; import java.util.List; /** * The controller for the "Skip transcoding for apps" section on the transcode settings * The controller for the "Enable transcoding for apps" section on the transcode settings * screen. */ public class TranscodeSkipAppsPreferenceController extends BasePreferenceController implements public class TranscodeAppsPreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { private static final String SKIP_SELECTED_APPS_PROP_KEY = "persist.sys.fuse.transcode_skip_uids"; private static final String TRANSCODE_SELECTED_APPS_PROP_KEY = "persist.sys.fuse.transcode_uids"; private final PackageManager mPackageManager; private final List<String> mUidsToSkip = new ArrayList<>(); private final List<String> mUids = new ArrayList<>(); public TranscodeSkipAppsPreferenceController(Context context, public TranscodeAppsPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mPackageManager = context.getPackageManager(); Loading @@ -60,8 +60,8 @@ public class TranscodeSkipAppsPreferenceController extends BasePreferenceControl public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); final Context context = screen.getContext(); mUidsToSkip.addAll(Arrays.asList( SystemProperties.get(SKIP_SELECTED_APPS_PROP_KEY).split(","))); mUids.addAll(Arrays.asList( SystemProperties.get(TRANSCODE_SELECTED_APPS_PROP_KEY).split(","))); Intent launcherIntent = new Intent(Intent.ACTION_MAIN); launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER); List<ResolveInfo> apps = mPackageManager.queryIntentActivities(launcherIntent, 0); Loading @@ -71,7 +71,7 @@ public class TranscodeSkipAppsPreferenceController extends BasePreferenceControl preference.setTitle(app.loadLabel(mPackageManager)); preference.setIcon(app.loadIcon(mPackageManager)); preference.setKey(uid); preference.setChecked(isSkippedForTranscoding(uid)); preference.setChecked(isSelectedForTranscoding(uid)); preference.setOnPreferenceChangeListener(this); screen.addPreference(preference); Loading @@ -83,15 +83,15 @@ public class TranscodeSkipAppsPreferenceController extends BasePreferenceControl boolean value = (Boolean) o; String uidStr = preference.getKey(); if (value) { mUidsToSkip.add(uidStr); mUids.add(uidStr); } else { mUidsToSkip.remove(uidStr); mUids.remove(uidStr); } SystemProperties.set(SKIP_SELECTED_APPS_PROP_KEY, String.join(",", mUidsToSkip)); SystemProperties.set(TRANSCODE_SELECTED_APPS_PROP_KEY, String.join(",", mUids)); return true; } private boolean isSkippedForTranscoding(String uid) { return mUidsToSkip.contains(uid); private boolean isSelectedForTranscoding(String uid) { return mUids.contains(uid); } }
src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java +3 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import android.os.SystemProperties; import com.android.settings.core.TogglePreferenceController; /** * The controller for the "Enable transcode for all apps" switch on the transcode settings * The controller for the "Disable transcoding for all apps" switch on the transcode settings * screen. */ public class TranscodeGlobalTogglePreferenceController extends TogglePreferenceController { Loading @@ -41,12 +41,12 @@ public class TranscodeGlobalTogglePreferenceController extends TogglePreferenceC @Override public boolean isChecked() { return SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, false); return !SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, false); } @Override public boolean setChecked(boolean isChecked) { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, String.valueOf(isChecked)); SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, String.valueOf(!isChecked)); return true; } }
tests/robotests/src/com/android/settings/development/transcode/TranscodeSkipAppsPreferenceControllerTest.java→tests/robotests/src/com/android/settings/development/transcode/TranscodeAppsPreferenceControllerTest.java +15 −15 Original line number Diff line number Diff line Loading @@ -51,24 +51,24 @@ import org.robolectric.shadows.ShadowPackageManager; import java.util.Collections; @RunWith(RobolectricTestRunner.class) public class TranscodeSkipAppsPreferenceControllerTest { public class TranscodeAppsPreferenceControllerTest { private static final int APPLICATION_UID = 1234; private static final String SKIP_SELECTED_APPS_PROP_KEY = "persist.sys.fuse.transcode_skip_uids"; private static final String TRANSCODE_SELECTED_APPS_PROP_KEY = "persist.sys.fuse.transcode_uids"; @Mock private PreferenceScreen mScreen; private Context mContext; private ShadowPackageManager mShadowPackageManager; private TranscodeSkipAppsPreferenceController mController; private TranscodeAppsPreferenceController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = ApplicationProvider.getApplicationContext(); mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager()); mController = new TranscodeSkipAppsPreferenceController(mContext, "test_key"); mController = new TranscodeAppsPreferenceController(mContext, "test_key"); Preference preference = new Preference(mContext); when(mScreen.getContext()).thenReturn(mContext); Loading Loading @@ -99,28 +99,28 @@ public class TranscodeSkipAppsPreferenceControllerTest { } @Test public void preferenceChecked_shouldSkipApp() { // First ensure that the app is not in skip list. SystemProperties.set(SKIP_SELECTED_APPS_PROP_KEY, String.valueOf(-1)); public void preferenceChecked_shouldSelectApp() { // First ensure that the app is not selected. SystemProperties.set(TRANSCODE_SELECTED_APPS_PROP_KEY, String.valueOf(-1)); SwitchPreference switchPreference = createPreference(/* defaultCheckedState = */ false); switchPreference.performClick(); // Verify that the app is added to skip list. assertThat(SystemProperties.get(SKIP_SELECTED_APPS_PROP_KEY)).contains( // Verify that the app is selected. assertThat(SystemProperties.get(TRANSCODE_SELECTED_APPS_PROP_KEY)).contains( String.valueOf(APPLICATION_UID)); } @Test public void preferenceUnchecked_shouldNotSkipApp() { // First ensure that the app is in skip list. SystemProperties.set(SKIP_SELECTED_APPS_PROP_KEY, String.valueOf(APPLICATION_UID)); public void preferenceUnchecked_shouldUnSelectApp() { // First ensure that the app is selected. SystemProperties.set(TRANSCODE_SELECTED_APPS_PROP_KEY, String.valueOf(APPLICATION_UID)); SwitchPreference switchPreference = createPreference(/* defaultCheckedState = */ true); switchPreference.performClick(); // Verify that the app is removed from skip list. assertThat(SystemProperties.get(SKIP_SELECTED_APPS_PROP_KEY)).doesNotContain( // Verify that the app is not selected. assertThat(SystemProperties.get(TRANSCODE_SELECTED_APPS_PROP_KEY)).doesNotContain( String.valueOf(APPLICATION_UID)); } Loading
tests/robotests/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java +8 −8 Original line number Diff line number Diff line Loading @@ -47,14 +47,14 @@ public class TranscodeGlobalTogglePreferenceControllerTest { } @Test public void isChecked_whenEnabled_shouldReturnTrue() { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, "true"); public void isChecked_whenDisabled_shouldReturnTrue() { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, "false"); assertThat(mController.isChecked()).isTrue(); } @Test public void isChecked_whenDisabled_shouldReturnTrue() { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, "false"); public void isChecked_whenEnabled_shouldReturnFalse() { SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, "true"); assertThat(mController.isChecked()).isFalse(); } Loading @@ -63,8 +63,8 @@ public class TranscodeGlobalTogglePreferenceControllerTest { // Simulate the UI being clicked. mController.setChecked(true); // Verify the system property was updated with the UI value. assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, false)).isTrue(); // Verify the system property was updated. assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, true)).isFalse(); } @Test Loading @@ -72,7 +72,7 @@ public class TranscodeGlobalTogglePreferenceControllerTest { // Simulate the UI being clicked. mController.setChecked(false); // Verify the system property was updated with the UI value. assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, true)).isFalse(); // Verify the system property was updated. assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, false)).isTrue(); } }