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

Commit 4ae4cd5c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Register most app info related controllers in xml" into pi-dev

parents 78df73f0 b5c651c9
Loading
Loading
Loading
Loading
+31 −17
Original line number Diff line number Diff line
@@ -17,9 +17,9 @@

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:key="installed_app_detail_settings_screen"
    app:initialExpandedChildrenCount="6">
    settings:initialExpandedChildrenCount="6">

    <com.android.settings.applications.LayoutPreference
        android:key="header_view"
@@ -39,33 +39,38 @@

    <Preference
        android:key="notification_settings"
        android:title="@string/notifications_label" />
        android:title="@string/notifications_label"
        settings:controller="com.android.settings.applications.appinfo.AppNotificationPreferenceController" />

    <com.android.settings.widget.FixedLineSummaryPreference
        android:key="permission_settings"
        android:title="@string/permissions_label"
        android:summary="@string/summary_placeholder"
        app:summaryLineCount="1" />
        settings:summaryLineCount="1"
        settings:controller="com.android.settings.applications.appinfo.AppPermissionPreferenceController" />

    <Preference
        android:key="storage_settings"
        android:title="@string/storage_settings"
        android:summary="@string/summary_placeholder" />
        android:summary="@string/summary_placeholder"
        settings:controller="com.android.settings.applications.appinfo.AppStoragePreferenceController" />

    <com.android.settings.applications.AppDomainsPreference
        android:key="instant_app_launch_supported_domain_urls"
        android:title="@string/app_launch_supported_domain_urls_title"
        android:selectable="true" />
        android:selectable="true"
        settings:controller="com.android.settings.applications.appinfo.InstantAppDomainsPreferenceController" />

    <Preference
        android:key="data_settings"
        android:title="@string/data_usage_summary_title"
        android:summary="@string/summary_placeholder" />
        android:summary="@string/summary_placeholder"
        settings:controller="com.android.settings.applications.appinfo.AppDataUsagePreferenceController" />

    <Preference
        android:key="time_spent_in_app"
        android:title="@string/time_spent_in_app_pref_title"
        app:controller="com.android.settings.applications.appinfo.TimeSpentInAppPreferenceController" />
        settings:controller="com.android.settings.applications.appinfo.TimeSpentInAppPreferenceController" />

    <Preference
        android:key="battery"
@@ -76,7 +81,8 @@
        android:key="preferred_settings"
        android:title="@string/launch_by_default"
        android:summary="@string/summary_placeholder"
        android:selectable="true" />
        android:selectable="true"
        settings:controller="com.android.settings.applications.appinfo.AppOpenByDefaultPreferenceController" />

    <Preference
        android:key="memory"
@@ -113,44 +119,52 @@
    <!-- Advanced apps settings -->
    <PreferenceCategory
        android:key="advanced_app_info"
        android:title="@string/advanced_apps">
        android:title="@string/advanced_apps"
        settings:controller="com.android.settings.applications.appinfo.AdvancedAppInfoPreferenceCategoryController">

        <Preference
            android:key="system_alert_window"
            android:title="@string/draw_overlay"
            android:summary="@string/summary_placeholder" />
            android:summary="@string/summary_placeholder"
            settings:controller="com.android.settings.applications.appinfo.DrawOverlayDetailPreferenceController" />

        <Preference
            android:key="write_settings_apps"
            android:title="@string/write_settings"
            android:summary="@string/summary_placeholder" />
            android:summary="@string/summary_placeholder"
            settings:controller="com.android.settings.applications.appinfo.WriteSystemSettingsPreferenceController" />

        <Preference
            android:key="picture_in_picture"
            android:title="@string/picture_in_picture_app_detail_title"
            android:summary="@string/summary_placeholder" />
            android:summary="@string/summary_placeholder"
            settings:controller="com.android.settings.applications.appinfo.PictureInPictureDetailPreferenceController" />

        <Preference
            android:key="install_other_apps"
            android:title="@string/install_other_apps"
            android:summary="@string/summary_placeholder" />
            android:summary="@string/summary_placeholder"
            settings:controller="com.android.settings.applications.appinfo.ExternalSourceDetailPreferenceController" />

    </PreferenceCategory>

    <!-- App installer info -->
    <PreferenceCategory
        android:key="app_installer"
        android:title="@string/app_install_details_group_title">
        android:title="@string/app_install_details_group_title"
        settings:controller="com.android.settings.applications.appinfo.AppInstallerPreferenceCategoryController">

        <Preference
            android:key="app_info_store"
            android:title="@string/app_install_details_title" />
            android:title="@string/app_install_details_title"
            settings:controller="com.android.settings.applications.appinfo.AppInstallerInfoPreferenceController" />

    </PreferenceCategory>

    <Preference
        android:key="app_version"
        android:selectable="false"
        android:order="9999" />
        android:order="9999"
        settings:controller="com.android.settings.applications.appinfo.AppVersionPreferenceController" />

</PreferenceScreen>
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ public class DefaultAppSettings extends DashboardFragment {
        workControllers.add(new DefaultWorkBrowserPreferenceController(context));
        controllers.addAll(workControllers);
        controllers.add(new PreferenceCategoryController(
                context, KEY_DEFAULT_WORK_CATEGORY, workControllers));
                context, KEY_DEFAULT_WORK_CATEGORY).setChildren(workControllers));
        controllers.add(new DefaultAssistPreferenceController(context, KEY_ASSIST_VOICE_INPUT,
                false /* showSetting */));
        controllers.add(new DefaultBrowserPreferenceController(context));
+28 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2018 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.
 */

package com.android.settings.applications.appinfo;

import android.content.Context;

import com.android.settings.widget.PreferenceCategoryController;

public class AdvancedAppInfoPreferenceCategoryController extends PreferenceCategoryController {

    public AdvancedAppInfoPreferenceCategoryController(Context context, String key) {
        super(context, key);
    }
}
+2 −8
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ import com.android.settings.datausage.AppDataUsage;
import com.android.settings.datausage.DataUsageList;
import com.android.settings.datausage.DataUsageUtils;
import com.android.settingslib.AppItem;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -48,16 +47,11 @@ import com.android.settingslib.net.ChartDataLoader;
public class AppDataUsagePreferenceController extends AppInfoPreferenceControllerBase
        implements LoaderManager.LoaderCallbacks<ChartData>, LifecycleObserver, OnResume, OnPause {

    private static final String KEY_DATA = "data_settings";
    private ChartData mChartData;
    private INetworkStatsSession mStatsSession;

    public AppDataUsagePreferenceController(Context context, AppInfoDashboardFragment parent,
            Lifecycle lifecycle) {
        super(context, parent, KEY_DATA);
        if (lifecycle != null) {
            lifecycle.addObserver(this);
        }
    public AppDataUsagePreferenceController(Context context,String key) {
        super(context, key);
    }

    @Override
+74 −56
Original line number Diff line number Diff line
@@ -55,7 +55,6 @@ import com.android.settings.applications.manageapplications.ManageApplications;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.widget.PreferenceCategoryController;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils;
@@ -84,8 +83,10 @@ public class AppInfoDashboardFragment extends DashboardFragment
    private static final String TAG = "AppInfoDashboard";

    // Menu identifiers
    @VisibleForTesting static final int UNINSTALL_ALL_USERS_MENU = 1;
    @VisibleForTesting static final int UNINSTALL_UPDATES = 2;
    @VisibleForTesting
    static final int UNINSTALL_ALL_USERS_MENU = 1;
    @VisibleForTesting
    static final int UNINSTALL_UPDATES = 2;
    static final int INSTALL_INSTANT_APP_MENU = 3;

    // Result code identifiers
@@ -106,8 +107,6 @@ public class AppInfoDashboardFragment extends DashboardFragment
    private static final int DLG_SPECIAL_DISABLE = DLG_BASE + 3;
    static final int DLG_CLEAR_INSTANT_APP = DLG_BASE + 4;

    private static final String KEY_ADVANCED_APP_INFO_CATEGORY = "advanced_app_info";

    public static final String ARG_PACKAGE_NAME = "package";
    public static final String ARG_PACKAGE_UID = "uid";

@@ -156,7 +155,42 @@ public class AppInfoDashboardFragment extends DashboardFragment
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        use(TimeSpentInAppPreferenceController.class).setPackageName(getPackageName());
        final String packageName = getPackageName();
        use(TimeSpentInAppPreferenceController.class).setPackageName(packageName);

        use(AppDataUsagePreferenceController.class).setParentFragment(this);
        final AppInstallerInfoPreferenceController installer =
                use(AppInstallerInfoPreferenceController.class);
        installer.setPackageName(packageName);
        installer.setParentFragment(this);
        use(AppInstallerPreferenceCategoryController.class).setChildren(Arrays.asList(installer));
        use(AppNotificationPreferenceController.class).setParentFragment(this);
        use(AppOpenByDefaultPreferenceController.class).setParentFragment(this);
        use(AppPermissionPreferenceController.class).setParentFragment(this);
        use(AppPermissionPreferenceController.class).setPackageName(packageName);
        use(AppStoragePreferenceController.class).setParentFragment(this);
        use(AppVersionPreferenceController.class).setParentFragment(this);
        use(InstantAppDomainsPreferenceController.class).setParentFragment(this);

        final WriteSystemSettingsPreferenceController writeSystemSettings =
                use(WriteSystemSettingsPreferenceController.class);
        writeSystemSettings.setParentFragment(this);

        final DrawOverlayDetailPreferenceController drawOverlay =
                use(DrawOverlayDetailPreferenceController.class);
        drawOverlay.setParentFragment(this);

        final PictureInPictureDetailPreferenceController pip =
                use(PictureInPictureDetailPreferenceController.class);
        pip.setPackageName(packageName);
        pip.setParentFragment(this);
        final ExternalSourceDetailPreferenceController externalSource =
                use(ExternalSourceDetailPreferenceController.class);
        externalSource.setPackageName(packageName);
        externalSource.setParentFragment(this);

        use(AdvancedAppInfoPreferenceCategoryController.class).setChildren(Arrays.asList(
                writeSystemSettings, drawOverlay, pip, externalSource));
    }

    @Override
@@ -227,16 +261,6 @@ public class AppInfoDashboardFragment extends DashboardFragment
        // when app state changes.
        controllers.add(
                new AppHeaderViewPreferenceController(context, this, packageName, lifecycle));
        controllers.add(new AppStoragePreferenceController(context, this, lifecycle));
        controllers.add(new AppDataUsagePreferenceController(context, this, lifecycle));
        controllers.add(new AppNotificationPreferenceController(context, this));
        controllers.add(new AppOpenByDefaultPreferenceController(context, this));
        controllers.add(new AppPermissionPreferenceController(context, this, packageName));
        controllers.add(new AppVersionPreferenceController(context, this));
        controllers.add(new InstantAppDomainsPreferenceController(context, this));
        final AppInstallerInfoPreferenceController appInstallerInfoPreferenceController =
                new AppInstallerInfoPreferenceController(context, this, packageName);
        controllers.add(appInstallerInfoPreferenceController);
        mAppActionButtonPreferenceController =
                new AppActionButtonPreferenceController(context, this, packageName);
        controllers.add(mAppActionButtonPreferenceController);
@@ -258,23 +282,15 @@ public class AppInfoDashboardFragment extends DashboardFragment
        controllers.add(new DefaultEmergencyShortcutPreferenceController(context, packageName));
        controllers.add(new DefaultSmsShortcutPreferenceController(context, packageName));

        final List<AbstractPreferenceController> advancedAppInfoControllers = new ArrayList<>();
        advancedAppInfoControllers.add(new DrawOverlayDetailPreferenceController(context, this));
        advancedAppInfoControllers.add(new WriteSystemSettingsPreferenceController(context, this));
        advancedAppInfoControllers.add(
                new PictureInPictureDetailPreferenceController(context, this, packageName));
        advancedAppInfoControllers.add(
                new ExternalSourceDetailPreferenceController(context, this, packageName));
        controllers.addAll(advancedAppInfoControllers);
        controllers.add(new PreferenceCategoryController(
                context, KEY_ADVANCED_APP_INFO_CATEGORY, advancedAppInfoControllers));

        controllers.add(new AppInstallerPreferenceCategoryController(
                context, Arrays.asList(appInstallerInfoPreferenceController)));

        return controllers;
    }

    void addToCallbackList(Callback callback) {
        if (callback != null) {
            mCallbacks.add(callback);
        }
    }

    ApplicationsState.AppEntry getAppEntry() {
        return mAppEntry;
    }
@@ -464,8 +480,10 @@ public class AppInfoDashboardFragment extends DashboardFragment
                                        // Disable the app
                                        mMetricsFeatureProvider.action(getContext(),
                                                MetricsEvent.ACTION_SETTINGS_DISABLE_APP);
                                new DisableChanger(AppInfoDashboardFragment.this, mAppEntry.info,
                                        PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER)
                                        new DisableChanger(AppInfoDashboardFragment.this,
                                                mAppEntry.info,
                                                PackageManager
                                                        .COMPONENT_ENABLED_STATE_DISABLED_USER)
                                                .execute((Object) null);
                                    }
                                })
Loading