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

Commit 1bde0d84 authored by Fan Zhang's avatar Fan Zhang
Browse files

Add work-only-category controller

The controller will hide category if there is no child in it.

Change-Id: I9bbcc4115b991574e608933f98857b0b4eb2ed7d
Fixes: 62185871
Test: robotests
parent 7ad17d72
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -74,8 +74,8 @@
        android:title="@string/domain_urls_title"
        android:fragment="com.android.settings.applications.ManageDomainUrls" />

    <com.android.settings.WorkOnlyCategory
        android:key="work_defaults"
    <com.android.settings.widget.WorkOnlyCategory
        android:key="work_app_defaults"
        android:title="@string/default_for_work">

        <Preference
@@ -93,6 +93,6 @@
            <extra android:name="for_work" android:value="true" />
        </Preference>

    </com.android.settings.WorkOnlyCategory>
    </com.android.settings.widget.WorkOnlyCategory>

</PreferenceScreen>
+2 −2
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@
              android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings" />
    </com.android.settingslib.RestrictedPreference>

    <com.android.settings.WorkOnlyCategory
    <com.android.settings.widget.WorkOnlyCategory
        android:key="sound_work_settings_section"
        android:title="@string/sound_work_settings"
        android:order="100">
@@ -190,5 +190,5 @@
                    android:ringtoneType="alarm"
                    android:dependency="work_use_personal_sounds" />

    </com.android.settings.WorkOnlyCategory>
    </com.android.settings.widget.WorkOnlyCategory>
</PreferenceScreen>
+2 −2
Original line number Diff line number Diff line
@@ -154,7 +154,7 @@
              android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings" />
    </com.android.settingslib.RestrictedPreference>

    <com.android.settings.WorkOnlyCategory
    <com.android.settings.widget.WorkOnlyCategory
        android:key="sound_work_settings_section"
        android:title="@string/sound_work_settings"
        android:order="100">
@@ -191,5 +191,5 @@
                    android:ringtoneType="alarm"
                    android:dependency="work_use_personal_sounds" />

    </com.android.settings.WorkOnlyCategory>
    </com.android.settings.widget.WorkOnlyCategory>
</PreferenceScreen>
+11 −7
Original line number Diff line number Diff line
@@ -26,11 +26,12 @@ import com.android.settings.applications.assist.DefaultAssistPreferenceControlle
import com.android.settings.applications.defaultapps.DefaultBrowserPreferenceController;
import com.android.settings.applications.defaultapps.DefaultEmergencyPreferenceController;
import com.android.settings.applications.defaultapps.DefaultHomePreferenceController;
import com.android.settings.applications.defaultapps.DefaultPaymentSettingsPreferenceController;
import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController;
import com.android.settings.applications.defaultapps.DefaultSmsPreferenceController;
import com.android.settings.applications.defaultapps.DefaultWorkBrowserPreferenceController;
import com.android.settings.widget.WorkOnlyCategoryPreferenceController;
import com.android.settings.applications.defaultapps.DefaultWorkPhonePreferenceController;
import com.android.settings.applications.defaultapps.DefaultPaymentSettingsPreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -45,6 +46,7 @@ public class DefaultAppSettings extends DashboardFragment {

    static final String TAG = "DefaultAppSettings";

    private static final String KEY_DEFAULT_WORK_CATEGORY = "work_app_defaults";
    private static final String KEY_ASSIST_VOICE_INPUT = "assist_and_voice_input";

    @Override
@@ -69,12 +71,16 @@ public class DefaultAppSettings extends DashboardFragment {

    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
        final List<AbstractPreferenceController> controllers = new ArrayList<>();
        final List<AbstractPreferenceController> workControllers = new ArrayList<>();
        workControllers.add(new DefaultWorkPhonePreferenceController(context));
        workControllers.add(new DefaultWorkBrowserPreferenceController(context));
        controllers.addAll(workControllers);
        controllers.add(new WorkOnlyCategoryPreferenceController(
                context, KEY_DEFAULT_WORK_CATEGORY, workControllers));
        controllers.add(new DefaultAssistPreferenceController(context, KEY_ASSIST_VOICE_INPUT,
                false /* showSetting */));
        controllers.add(new DefaultBrowserPreferenceController(context));
        controllers.add(new DefaultWorkBrowserPreferenceController(context));
        controllers.add(new DefaultPhonePreferenceController(context));
        controllers.add(new DefaultWorkPhonePreferenceController(context));
        controllers.add(new DefaultSmsPreferenceController(context));
        controllers.add(new DefaultEmergencyPreferenceController(context));
        controllers.add(new DefaultHomePreferenceController(context));
@@ -97,10 +103,8 @@ public class DefaultAppSettings extends DashboardFragment {
                    List<String> keys = super.getNonIndexableKeys(context);
                    keys.add(KEY_ASSIST_VOICE_INPUT);
                    // TODO (b/38230148) Remove these keys when we can differentiate work results
                    keys.add((new DefaultWorkPhonePreferenceController(context))
                            .getPreferenceKey());
                    keys.add((new DefaultWorkBrowserPreferenceController(context))
                            .getPreferenceKey());
                    keys.add(DefaultWorkPhonePreferenceController.KEY);
                    keys.add(DefaultWorkBrowserPreferenceController.KEY);
                    return keys;
                }

+2 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import com.android.settings.Utils;

public class DefaultWorkBrowserPreferenceController extends DefaultBrowserPreferenceController {

    public static final String KEY = "work_default_browser";
    private final UserHandle mUserHandle;

    public DefaultWorkBrowserPreferenceController(Context context) {
@@ -35,7 +36,7 @@ public class DefaultWorkBrowserPreferenceController extends DefaultBrowserPrefer

    @Override
    public String getPreferenceKey() {
        return "work_default_browser";
        return KEY;
    }

    @Override
Loading