Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d79a9ed authored by Adnan Begovic's avatar Adnan Begovic Committed by Gerrit Code Review
Browse files

Settings: Meet BYOD check intent filter expectations.

  CTS Verifier expects SecuritySettings to contain Lockscreen options, thus
  if SecuritySettings are externally invoked and disambiguated by intent
  resolution, we need to display both lockscreen options and security options.

  AOSP provides an activity that handles android.settings.BATTERY_SAVER_SETTINGS
  thus, we provide an activity-alias that points to the PowerUsage menu
  to meet the expectation of the cts verifier request.

Change-Id: I6f06b031e341e8a63ffdd765884b49fd1c079825
TICKET: CYNGNOS-2105
parent 672db85f
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -2057,6 +2057,26 @@
                android:resource="@id/battery_settings" />
        </activity-alias>

        <activity-alias android:name="Settings$BatterySaverSettingsActivity"
                  android:label="@string/battery_saver"
                  android:targetActivity="Settings$PowerUsageSummaryActivity">
            <intent-filter android:priority="1">
                <action android:name="android.settings.BATTERY_SAVER_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="com.android.settings.SHORTCUT" />
            </intent-filter>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.fuelgauge.PowerUsageSummary" />
            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
                       android:resource="@id/battery_settings" />
            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                       android:value="true" />
        </activity-alias>

        <activity android:name=".fuelgauge.BatterySaverModeVoiceActivity"
                android:label="@string/power_usage_summary_title"
                android:theme="@android:style/Theme.Material.Light.Voice"
+11 −3
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
    protected static final String FILTER_TYPE_EXTRA = "filter_type";
    protected static final int TYPE_LOCKSCREEN_EXTRA = 0;
    private static final int TYPE_SECURITY_EXTRA = 1;
    private static final int TYPE_EXTERNAL_RESOLUTION = 2;

    // Lock Settings
    private static final String KEY_UNLOCK_SET_OR_CHANGE = "unlock_set_or_change";
@@ -191,6 +192,12 @@ public class SecuritySettings extends SettingsPreferenceFragment
            }
        }

        Bundle extras = getActivity().getIntent().getExtras();
        // Even uglier hack to make cts verifier expectations make sense.
        if (extras.get(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS) != null) {
            mFilterType = TYPE_EXTERNAL_RESOLUTION;
        }

        mSubscriptionManager = SubscriptionManager.from(getActivity());

        mLockPatternUtils = new LockPatternUtils(getActivity());
@@ -263,7 +270,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
            root.addPreference(mLockscreenDisabledPreference);
        }

        if (mFilterType == TYPE_LOCKSCREEN_EXTRA) {
        if (mFilterType == TYPE_LOCKSCREEN_EXTRA || mFilterType == TYPE_EXTERNAL_RESOLUTION) {
            // Add options for lock/unlock screen
            final int resid = getResIdForLockUnlockScreen(getActivity(), mLockPatternUtils);
            addPreferencesFromResource(resid);
@@ -280,7 +287,8 @@ public class SecuritySettings extends SettingsPreferenceFragment
            }
        }

        if (mIsPrimary && mFilterType == TYPE_SECURITY_EXTRA) {
        if (mIsPrimary && mFilterType == TYPE_SECURITY_EXTRA
                || mFilterType == TYPE_EXTERNAL_RESOLUTION) {
            if (LockPatternUtils.isDeviceEncryptionEnabled()) {
                // The device is currently encrypted.
                addPreferencesFromResource(R.xml.security_settings_encrypted);
@@ -290,7 +298,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
            }
        }

        if (mFilterType == TYPE_LOCKSCREEN_EXTRA) {
        if (mFilterType == TYPE_LOCKSCREEN_EXTRA || mFilterType == TYPE_EXTERNAL_RESOLUTION) {
            // Fingerprint and trust agents
            PreferenceGroup securityCategory = (PreferenceGroup)
                    root.findPreference(KEY_SECURITY_CATEGORY);