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

Commit 76ba0f72 authored by jackqdyulei's avatar jackqdyulei
Browse files

Add feature flag for connected device

Add feature flag to toggle connected device between new and old
feature.

ConnectedDeviceDashboardFragment will contain new feature will
ConnectedDeviceDashboardFragment2 will hold old feature.

Bug: 69333961
Test: Build
Change-Id: I0ea932c69dea5242129aab994d5142b1f87fbea0
parent 65ec66e3
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -202,6 +202,31 @@
                android:value="true" />
        </activity>

        <activity android:name=".Settings$ConnectedDeviceDashboardActivityOld"
                  android:taskAffinity="com.android.settings"
                  android:label="@string/connected_devices_dashboard_title"
                  android:icon="@drawable/ic_devices_other"
                  android:parentActivityName="Settings">
            <intent-filter android:priority="1">
                <action android:name="android.settings.NFC_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="android.intent.category.VOICE_LAUNCH" />
            </intent-filter>
            <intent-filter android:priority="10">
                <action android:name="com.android.settings.action.SETTINGS"/>
            </intent-filter>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.connecteddevice.ConnectedDeviceDashboardFragmentOld"/>
            <meta-data android:name="com.android.settings.category"
                       android:value="com.android.settings.category.ia.homepage"/>
            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                       android:value="true" />
        </activity>

        <activity android:name="AirplaneModeVoiceActivity"
                android:label="@string/wireless_networks_settings_title"
                android:theme="@*android:style/Theme.DeviceDefault.Light.Voice"
+1 −42
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 The Android Open Source Project
<!-- Copyright (C) 2017 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -19,45 +19,4 @@
    android:key="connected_devices_screen"
    android:title="@string/connected_devices_dashboard_title">

    <com.android.settings.widget.MasterSwitchPreference
      android:key="toggle_bluetooth"
      android:title="@string/bluetooth_settings_title"
      android:icon="@drawable/ic_settings_bluetooth"
      android:order="-7"/>

    <SwitchPreference
        android:key="toggle_nfc"
        android:title="@string/nfc_quick_toggle_title"
        android:icon="@drawable/ic_nfc"
        android:summary="@string/nfc_quick_toggle_summary"
        android:order="-5"/>

    <com.android.settingslib.RestrictedPreference
        android:fragment="com.android.settings.nfc.AndroidBeam"
        android:key="android_beam_settings"
        android:title="@string/android_beam_settings_title"
        android:icon="@drawable/ic_android"
        android:order="-4"/>

    <Preference
        android:key="sms_mirroring"
        android:title="@string/sms_mirroring_pref"
        android:icon="@drawable/ic_sms_mirroring_24dp"
        android:summary="@string/summary_placeholder"
        android:order="-3"/>

    <Preference
        android:key="usb_mode"
        android:title="@string/usb_pref"
        android:icon="@drawable/ic_usb"
        android:order="-2">
        <intent android:action="android.intent.action.MAIN"
                android:targetPackage="com.android.settings"
                android:targetClass="com.android.settings.deviceinfo.UsbModeChooserActivity"/>
    </Preference>

    <PreferenceCategory
        android:key="dashboard_tile_placeholder"
        android:order="50"/>

</PreferenceScreen>
+63 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:key="connected_devices_screen"
    android:title="@string/connected_devices_dashboard_title">

    <com.android.settings.widget.MasterSwitchPreference
      android:key="toggle_bluetooth"
      android:title="@string/bluetooth_settings_title"
      android:icon="@drawable/ic_settings_bluetooth"
      android:order="-7"/>

    <SwitchPreference
        android:key="toggle_nfc"
        android:title="@string/nfc_quick_toggle_title"
        android:icon="@drawable/ic_nfc"
        android:summary="@string/nfc_quick_toggle_summary"
        android:order="-5"/>

    <com.android.settingslib.RestrictedPreference
        android:fragment="com.android.settings.nfc.AndroidBeam"
        android:key="android_beam_settings"
        android:title="@string/android_beam_settings_title"
        android:icon="@drawable/ic_android"
        android:order="-4"/>

    <Preference
        android:key="sms_mirroring"
        android:title="@string/sms_mirroring_pref"
        android:icon="@drawable/ic_sms_mirroring_24dp"
        android:summary="@string/summary_placeholder"
        android:order="-3"/>

    <Preference
        android:key="usb_mode"
        android:title="@string/usb_pref"
        android:icon="@drawable/ic_usb"
        android:order="-2">
        <intent android:action="android.intent.action.MAIN"
                android:targetPackage="com.android.settings"
                android:targetClass="com.android.settings.deviceinfo.UsbModeChooserActivity"/>
    </Preference>

    <PreferenceCategory
        android:key="dashboard_tile_placeholder"
        android:order="50"/>

</PreferenceScreen>
+9 −1
Original line number Diff line number Diff line
@@ -16,7 +16,10 @@

package com.android.settings;

import static com.android.settings.core.FeatureFlags.CONNECTED_DEVICE_V2;

import android.os.Bundle;
import android.util.FeatureFlagUtils;

import com.android.settings.enterprise.EnterprisePrivacySettings;

@@ -165,7 +168,12 @@ public class Settings extends SettingsActivity {

    // Top level categories for new IA
    public static class NetworkDashboardActivity extends SettingsActivity {}
    public static class ConnectedDeviceDashboardActivity extends SettingsActivity {}
    public static class ConnectedDeviceDashboardActivity extends SettingsActivity {
        public static final boolean isEnabled() {
            return FeatureFlagUtils.isEnabled(null /* context */, CONNECTED_DEVICE_V2);
        }
    }
    public static class ConnectedDeviceDashboardActivityOld extends SettingsActivity {}
    public static class AppAndNotificationDashboardActivity extends SettingsActivity {}
    public static class StorageDashboardActivity extends SettingsActivity {}
    public static class UserAndAccountDashboardActivity extends SettingsActivity {}
+15 −5
Original line number Diff line number Diff line
@@ -789,6 +789,21 @@ public class SettingsActivity extends SettingsDrawerActivity
                Utils.isBandwidthControlEnabled() /* enabled */,
                isAdmin) || somethingChanged;

        final boolean isConnectedDeviceV2Enabled =
                Settings.ConnectedDeviceDashboardActivity.isEnabled();
        // Enable new connected page if v2 enabled
        somethingChanged = setTileEnabled(
                new ComponentName(packageName,
                        Settings.ConnectedDeviceDashboardActivity.class.getName()),
                isConnectedDeviceV2Enabled && !UserManager.isDeviceInDemoMode(this) /* enabled */,
                isAdmin) || somethingChanged;
        // Enable old connected page if v2 disabled
        somethingChanged = setTileEnabled(
                new ComponentName(packageName,
                        Settings.ConnectedDeviceDashboardActivityOld.class.getName()),
                !isConnectedDeviceV2Enabled && !UserManager.isDeviceInDemoMode(this) /* enabled */,
                isAdmin) || somethingChanged;

        somethingChanged = setTileEnabled(new ComponentName(packageName,
                        Settings.SimSettingsActivity.class.getName()),
                Utils.showSimCardTile(this), isAdmin)
@@ -809,11 +824,6 @@ public class SettingsActivity extends SettingsDrawerActivity
                !UserManager.isDeviceInDemoMode(this), isAdmin)
                || somethingChanged;

        somethingChanged = setTileEnabled(new ComponentName(packageName,
                        Settings.ConnectedDeviceDashboardActivity.class.getName()),
                !UserManager.isDeviceInDemoMode(this), isAdmin)
                || somethingChanged;

        somethingChanged = setTileEnabled(new ComponentName(packageName,
                        Settings.DateTimeSettingsActivity.class.getName()),
                !UserManager.isDeviceInDemoMode(this), isAdmin)
Loading