Notification settings to match ixd mocks:

- added default sound config to general notification settings page
- reordered items to match docs

Bug: 37481153
Test: RunSettingsRoboTests; manual

Change-Id: I2404f0a3f97601c8b3a9d15de58e1d53bf801c45
This commit is contained in:
Alison Cichowlas
2017-06-21 11:41:34 -04:00
parent c225ee4e0a
commit 4fe455de57
3 changed files with 79 additions and 21 deletions

View File

@@ -22,6 +22,17 @@
android:key="dashboard_tile_placeholder"
android:order="1"/>
<PreferenceCategory
android:key="lock_screen_notifications_profile_header"
android:title="@string/profile_section_header">
<com.android.settings.notification.RestrictedDropDownPreference
android:key="lock_screen_notifications_profile"
android:title="@string/lock_screen_notifications_title"
android:summary="@string/summary_placeholder"/>
</PreferenceCategory>
<!-- Notification badging -->
<SwitchPreference
android:key="notification_badging"
@@ -38,20 +49,17 @@
android:title="@string/lock_screen_notifications_title"
android:summary="@string/summary_placeholder"/>
<!-- Default notification ringtone -->
<com.android.settings.DefaultRingtonePreference
android:key="notification_default_ringtone"
android:title="@string/notification_ringtone_title"
android:dialogTitle="@string/notification_ringtone_title"
android:summary="@string/summary_placeholder"
android:ringtoneType="notification" />
<Preference
android:key="gesture_swipe_down_fingerprint_notifications"
android:title="@string/fingerprint_swipe_for_notifications_title"
android:fragment="com.android.settings.gestures.SwipeToNotificationSettings" />
<PreferenceCategory
android:key="lock_screen_notifications_profile_header"
android:title="@string/profile_section_header">
<com.android.settings.notification.RestrictedDropDownPreference
android:key="lock_screen_notifications_profile"
android:title="@string/lock_screen_notifications_title"
android:summary="@string/summary_placeholder"/>
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -40,12 +40,10 @@
<PreferenceCategory
android:title="@string/advanced_apps">
<!-- Show badge -->
<com.android.settingslib.RestrictedSwitchPreference
android:key="badge"
android:title="@string/notification_channel_badge_title"
settings:useAdditionalSummary="true"
settings:restrictedSwitchSummary="@string/enabled_by_admin" />
<!-- Visibility Override -->
<com.android.settings.notification.RestrictedDropDownPreference
android:key="visibility_override"
android:title="@string/app_notification_visibility_override_title" />
<!-- Lights -->
<com.android.settingslib.RestrictedSwitchPreference
@@ -53,10 +51,12 @@
android:title="@string/notification_show_lights_title"
settings:useAdditionalSummary="true" />
<!-- Visibility Override -->
<com.android.settings.notification.RestrictedDropDownPreference
android:key="visibility_override"
android:title="@string/app_notification_visibility_override_title" />
<!-- Show badge -->
<com.android.settingslib.RestrictedSwitchPreference
android:key="badge"
android:title="@string/notification_channel_badge_title"
settings:useAdditionalSummary="true"
settings:restrictedSwitchSummary="@string/enabled_by_admin" />
<!-- Bypass DND -->
<com.android.settingslib.RestrictedSwitchPreference

View File

@@ -18,10 +18,16 @@ package com.android.settings.notification;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.UserHandle;
import android.provider.SearchIndexableResource;
import android.support.v7.preference.Preference;
import android.util.Log;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.RingtonePreference;
import com.android.settings.applications.NotificationApps;
import com.android.settings.applications.NotificationApps.SummaryProvider;
import com.android.settings.core.PreferenceController;
@@ -40,6 +46,11 @@ public class ConfigureNotificationSettings extends DashboardFragment {
private static final String TAG = "ConfigNotiSettings";
private static final String KEY_SWIPE_DOWN = "gesture_swipe_down_fingerprint_notifications";
private static final String KEY_NOTI_DEFAULT_RINGTONE = "notification_default_ringtone";
private RingtonePreference mRequestPreference;
private static final int REQUEST_CODE = 200;
private static final String SELECTED_PREFERENCE_KEY = "selected_preference";
@Override
public int getMetricsCategory() {
@@ -82,9 +93,47 @@ public class ConfigureNotificationSettings extends DashboardFragment {
controllers.add(badgeController);
controllers.add(pulseController);
controllers.add(lockScreenNotificationController);
controllers.add(new NotificationRingtonePreferenceController(context) {
@Override
public String getPreferenceKey() {
return KEY_NOTI_DEFAULT_RINGTONE;
}
});
return controllers;
}
@Override
public boolean onPreferenceTreeClick(Preference preference) {
if (preference instanceof RingtonePreference) {
mRequestPreference = (RingtonePreference) preference;
mRequestPreference.onPrepareRingtonePickerIntent(mRequestPreference.getIntent());
startActivityForResultAsUser(
mRequestPreference.getIntent(),
REQUEST_CODE,
null,
UserHandle.of(mRequestPreference.getUserId()));
return true;
}
return super.onPreferenceTreeClick(preference);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (mRequestPreference != null) {
mRequestPreference.onActivityResult(requestCode, resultCode, data);
mRequestPreference = null;
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if (mRequestPreference != null) {
outState.putString(SELECTED_PREFERENCE_KEY, mRequestPreference.getKey());
}
}
public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
= new SummaryLoader.SummaryProviderFactory() {
@Override
@@ -111,5 +160,6 @@ public class ConfigureNotificationSettings extends DashboardFragment {
public List<PreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null);
}
};
}