Introduce new preference indicating user control.

If the user enables this, then that means that we will respect user's
choices for all the preferences, i.e. we will not update the preferences
based on the updates from server.
On the other hand, if it's disabled, then the rest of the preferences
would not be considered.  And we'd decide their values based on the
values from the DeviceConfig (which in turn come from the server).

The controller for the default-transcoding-behavior for apps was also
added.

Also, renaming the set prop key for enabling-transcode to match the one
in DeviceConfig - transcode_enabled.
And while we were at it, we renamed the stirng from "disabling
transcoding for all apps" to "enabling transcoding for all apps"; and
also changed the controller to enable (instead of disable) transcoding.

BUG:169327180

Test: manual testing. And added unit test for
TranscodeUserControlPreferenceControllerTest.

Change-Id: If9b9face51b669f5177be8bfa18f44471f531058
This commit is contained in:
Manish Singh
2020-12-02 06:42:07 +00:00
parent 35390be7be
commit 47445745be
7 changed files with 277 additions and 11 deletions

View File

@@ -22,12 +22,12 @@ import android.os.SystemProperties;
import com.android.settings.core.TogglePreferenceController;
/**
* The controller for the "Disable transcoding for all apps" switch on the transcode settings
* The controller for the "Enabling transcoding for all apps" switch on the transcode settings
* screen.
*/
public class TranscodeGlobalTogglePreferenceController extends TogglePreferenceController {
private static final String TRANSCODE_ENABLED_PROP_KEY = "persist.sys.fuse.transcode";
private static final String TRANSCODE_ENABLED_PROP_KEY = "persist.sys.fuse.transcode_enabled";
public TranscodeGlobalTogglePreferenceController(Context context,
String preferenceKey) {
@@ -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;
}
}