Merge "Fix the background color of CollapsingToolbarLayout" into sc-v2-dev am: d355d7f123

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16284152

Change-Id: I2203f0844c527bf1ac7934b1d711117397ed120c
This commit is contained in:
TreeHugger Robot
2021-12-02 07:54:01 +00:00
committed by Automerger Merge Worker
13 changed files with 203 additions and 15 deletions

View File

@@ -272,8 +272,8 @@ public class ManageApplications extends InstrumentedFragment
Intent intent = activity.getIntent();
Bundle args = getArguments();
int screenTitle = intent.getIntExtra(
SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, R.string.all_apps);
final int screenTitle = getTitleResId(intent, args);
String className = args != null ? args.getString(EXTRA_CLASSNAME) : null;
if (className == null) {
className = intent.getComponent().getClassName();
@@ -290,49 +290,36 @@ public class ManageApplications extends InstrumentedFragment
mSortOrder = R.id.sort_order_size;
} else if (className.equals(UsageAccessSettingsActivity.class.getName())) {
mListType = LIST_TYPE_USAGE_ACCESS;
screenTitle = R.string.usage_access;
} else if (className.equals(HighPowerApplicationsActivity.class.getName())) {
mListType = LIST_TYPE_HIGH_POWER;
// Default to showing system.
mShowSystem = true;
screenTitle = R.string.high_power_apps;
} else if (className.equals(OverlaySettingsActivity.class.getName())) {
mListType = LIST_TYPE_OVERLAY;
screenTitle = R.string.system_alert_window_settings;
reportIfRestrictedSawIntent(intent);
} else if (className.equals(WriteSettingsActivity.class.getName())) {
mListType = LIST_TYPE_WRITE_SETTINGS;
screenTitle = R.string.write_settings;
} else if (className.equals(ManageExternalSourcesActivity.class.getName())) {
mListType = LIST_TYPE_MANAGE_SOURCES;
screenTitle = R.string.install_other_apps;
} else if (className.equals(GamesStorageActivity.class.getName())) {
mListType = LIST_TYPE_GAMES;
mSortOrder = R.id.sort_order_size;
} else if (className.equals(Settings.ChangeWifiStateActivity.class.getName())) {
mListType = LIST_TYPE_WIFI_ACCESS;
screenTitle = R.string.change_wifi_state_title;
} else if (className.equals(Settings.ManageExternalStorageActivity.class.getName())) {
mListType = LIST_MANAGE_EXTERNAL_STORAGE;
screenTitle = R.string.manage_external_storage_title;
} else if (className.equals(Settings.MediaManagementAppsActivity.class.getName())) {
mListType = LIST_TYPE_MEDIA_MANAGEMENT_APPS;
screenTitle = R.string.media_management_apps_title;
} else if (className.equals(Settings.AlarmsAndRemindersActivity.class.getName())) {
mListType = LIST_TYPE_ALARMS_AND_REMINDERS;
screenTitle = R.string.alarms_and_reminders_title;
} else if (className.equals(Settings.NotificationAppListActivity.class.getName())) {
mListType = LIST_TYPE_NOTIFICATION;
mUsageStatsManager = IUsageStatsManager.Stub.asInterface(
ServiceManager.getService(Context.USAGE_STATS_SERVICE));
mNotificationBackend = new NotificationBackend();
mSortOrder = R.id.sort_order_recent_notification;
screenTitle = R.string.app_notifications_title;
} else {
if (screenTitle == -1) {
screenTitle = R.string.all_apps;
}
mListType = LIST_TYPE_MAIN;
}
final AppFilterRegistry appFilterRegistry = AppFilterRegistry.getInstance();
@@ -881,6 +868,46 @@ public class ManageApplications extends InstrumentedFragment
params.setBehavior(behavior);
}
/**
* Returns a resource ID of title based on what type of app list is
* @param intent the intent of the activity that might include a specified title
* @param args the args that includes a class name of app list
*/
public static int getTitleResId(@NonNull Intent intent, Bundle args) {
int screenTitle = intent.getIntExtra(
SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, R.string.all_apps);
String className = args != null ? args.getString(EXTRA_CLASSNAME) : null;
if (className == null) {
className = intent.getComponent().getClassName();
}
if (className.equals(Settings.UsageAccessSettingsActivity.class.getName())) {
screenTitle = R.string.usage_access;
} else if (className.equals(Settings.HighPowerApplicationsActivity.class.getName())) {
screenTitle = R.string.high_power_apps;
} else if (className.equals(Settings.OverlaySettingsActivity.class.getName())) {
screenTitle = R.string.system_alert_window_settings;
} else if (className.equals(Settings.WriteSettingsActivity.class.getName())) {
screenTitle = R.string.write_settings;
} else if (className.equals(Settings.ManageExternalSourcesActivity.class.getName())) {
screenTitle = R.string.install_other_apps;
} else if (className.equals(Settings.ChangeWifiStateActivity.class.getName())) {
screenTitle = R.string.change_wifi_state_title;
} else if (className.equals(Settings.ManageExternalStorageActivity.class.getName())) {
screenTitle = R.string.manage_external_storage_title;
} else if (className.equals(Settings.MediaManagementAppsActivity.class.getName())) {
screenTitle = R.string.media_management_apps_title;
} else if (className.equals(Settings.AlarmsAndRemindersActivity.class.getName())) {
screenTitle = R.string.alarms_and_reminders_title;
} else if (className.equals(Settings.NotificationAppListActivity.class.getName())) {
screenTitle = R.string.app_notifications_title;
} else {
if (screenTitle == -1) {
screenTitle = R.string.all_apps;
}
}
return screenTitle;
}
static class FilterSpinnerAdapter extends SettingsSpinnerAdapter<CharSequence> {
private final ManageApplications mManageApplications;

View File

@@ -17,6 +17,7 @@
package com.android.settings.dashboard.profileselector;
import androidx.fragment.app.Fragment;
import com.android.settings.R;
import com.android.settings.accounts.AccountPersonalDashboardFragment;
import com.android.settings.accounts.AccountWorkProfileDashboardFragment;
@@ -32,4 +33,9 @@ public class ProfileSelectAccountFragment extends ProfileSelectFragment {
new AccountWorkProfileDashboardFragment()
};
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.accounts_dashboard_settings_header;
}
}

View File

@@ -107,6 +107,10 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
Bundle savedInstanceState) {
mContentView = (ViewGroup) super.onCreateView(inflater, container, savedInstanceState);
final Activity activity = getActivity();
final int titleResId = getTitleResId();
if (titleResId > 0) {
activity.setTitle(titleResId);
}
final int selectedTab = convertPosition(getTabId(activity, getArguments()));
final View tabContainer = mContentView.findViewById(R.id.tab_container);
@@ -166,6 +170,14 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
*/
public abstract Fragment[] getFragments();
/**
* Returns a resource ID of the title
* Override this if the title needs to be updated dynamically.
*/
int getTitleResId() {
return 0;
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.placeholder_preference_screen;

View File

@@ -60,4 +60,9 @@ public class ProfileSelectLocationFragment extends ProfileSelectFragment {
workFragment
};
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.location_settings_header;
}
}

View File

@@ -20,6 +20,7 @@ import android.os.Bundle;
import androidx.fragment.app.Fragment;
import com.android.settings.R;
import com.android.settings.location.LocationServices;
import com.android.settings.location.LocationServicesForWork;
@@ -44,4 +45,9 @@ public class ProfileSelectLocationServicesFragment extends ProfileSelectFragment
workFragment
};
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.location_services_header;
}
}

View File

@@ -16,6 +16,8 @@
package com.android.settings.dashboard.profileselector;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
@@ -43,4 +45,12 @@ public class ProfileSelectManageApplications extends ProfileSelectFragment {
workFragment
};
}
@Override
int getTitleResId() {
final Activity activity = getActivity();
final Intent intent = activity.getIntent();
final Bundle args = getArguments();
return ManageApplications.getTitleResId(intent, args);
}
}

View File

@@ -20,6 +20,7 @@ import android.os.Bundle;
import androidx.fragment.app.Fragment;
import com.android.settings.R;
import com.android.settings.location.RecentLocationAccessSeeAllFragment;
/**
@@ -43,4 +44,9 @@ public class ProfileSelectRecentLocationAccessFragment extends ProfileSelectFrag
workFragment
};
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.location_recent_location_access_header;
}
}

View File

@@ -20,6 +20,7 @@ import android.os.Bundle;
import androidx.fragment.app.Fragment;
import com.android.settings.R;
import com.android.settings.location.RecentLocationRequestSeeAllFragment;
/**
@@ -43,4 +44,9 @@ public class ProfileSelectRecentLocationRequestFragment extends ProfileSelectFra
workFragment
};
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.location_recent_requests_header;
}
}