Loading AndroidManifest.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2639,6 +2639,8 @@ </intent-filter> <meta-data android:name="com.android.settings.category" android:value="com.android.settings.category.ia.apps"/> <meta-data android:name="com.android.settings.summary" android:resource="@string/summary_empty"/> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.notification.ConfigureNotificationSettings" /> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" Loading res/values/strings.xml +3 −3 Original line number Diff line number Diff line Loading @@ -7647,11 +7647,11 @@ <string name="app_settings_link">Additional settings in the app</string> <!-- [CHAR LIMIT=45] App notification listing summary, blocked apps --> <string name="app_notification_listing_summary_zero">Turned on for all apps</string> <string name="app_notification_listing_summary_zero">On for all apps</string> <!-- [CHAR LIMIT=45] App notification listing summary, blocked apps --> <plurals name="app_notification_listing_summary_others"> <item quantity="one">Turned off for <xliff:g id="count" example="1">%d</xliff:g> app</item> <item quantity="other">Turned off for <xliff:g id="count" example="10">%d</xliff:g> apps</item> <item quantity="one">Off for <xliff:g id="count" example="1">%d</xliff:g> app</item> <item quantity="other">Off for <xliff:g id="count" example="10">%d</xliff:g> apps</item> </plurals> <!-- [CHAR LIMIT=NONE] Footer listing a count of deleted channels. --> src/com/android/settings/applications/appinfo/AppNotificationPreferenceController.java +7 −3 Original line number Diff line number Diff line Loading @@ -81,11 +81,15 @@ public class AppNotificationPreferenceController extends AppInfoPreferenceContro if (appRow == null) { return ""; } if (appRow.banned || appRow.channelCount == appRow.blockedChannelCount) { return context.getString(R.string.notifications_disabled); if (appRow.banned) { return context.getText(R.string.notifications_disabled); } else if (appRow.channelCount == 0) { return context.getText(R.string.notifications_enabled); } else if (appRow.channelCount == appRow.blockedChannelCount) { return context.getText(R.string.notifications_disabled); } else { if (appRow.blockedChannelCount == 0) { return context.getString(R.string.notifications_enabled); return context.getText(R.string.notifications_enabled); } return context.getString(R.string.notifications_enabled_with_info, context.getResources().getQuantityString(R.plurals.notifications_categories_off, Loading src/com/android/settings/notification/ConfigureNotificationSettings.java +50 −0 Original line number Diff line number Diff line Loading @@ -26,11 +26,13 @@ import android.os.UserHandle; import android.provider.SearchIndexableResource; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import android.text.TextUtils; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.RingtonePreference; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.SummaryLoader; import com.android.settings.gestures.SwipeToNotificationPreferenceController; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; Loading Loading @@ -151,6 +153,54 @@ public class ConfigureNotificationSettings extends DashboardFragment { } } /** * For summary */ static class SummaryProvider implements SummaryLoader.SummaryProvider { private final Context mContext; private final SummaryLoader mSummaryLoader; private NotificationBackend mBackend; public SummaryProvider(Context context, SummaryLoader summaryLoader) { mContext = context; mSummaryLoader = summaryLoader; mBackend = new NotificationBackend(); } @VisibleForTesting protected void setBackend(NotificationBackend backend) { mBackend = backend; } @Override public void setListening(boolean listening) { if (!listening) { return; } int blockedAppCount = mBackend.getBlockedAppCount(); if (blockedAppCount == 0) { mSummaryLoader.setSummary(this, mContext.getText(R.string.app_notification_listing_summary_zero)); } else { mSummaryLoader.setSummary(this, mContext.getResources().getQuantityString( R.plurals.app_notification_listing_summary_others, blockedAppCount, blockedAppCount)); } } } public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY = new SummaryLoader.SummaryProviderFactory() { @Override public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity, SummaryLoader summaryLoader) { return new ConfigureNotificationSettings.SummaryProvider( activity, summaryLoader); } }; /** * For Search. */ Loading src/com/android/settings/notification/NotificationBackend.java +9 −0 Original line number Diff line number Diff line Loading @@ -250,6 +250,15 @@ public class NotificationBackend { } } public int getBlockedAppCount() { try { return sINM.getBlockedAppCount(UserHandle.myUserId()); } catch (Exception e) { Log.w(TAG, "Error calling NoMan", e); return 0; } } static class Row { public String section; } Loading Loading
AndroidManifest.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2639,6 +2639,8 @@ </intent-filter> <meta-data android:name="com.android.settings.category" android:value="com.android.settings.category.ia.apps"/> <meta-data android:name="com.android.settings.summary" android:resource="@string/summary_empty"/> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.notification.ConfigureNotificationSettings" /> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" Loading
res/values/strings.xml +3 −3 Original line number Diff line number Diff line Loading @@ -7647,11 +7647,11 @@ <string name="app_settings_link">Additional settings in the app</string> <!-- [CHAR LIMIT=45] App notification listing summary, blocked apps --> <string name="app_notification_listing_summary_zero">Turned on for all apps</string> <string name="app_notification_listing_summary_zero">On for all apps</string> <!-- [CHAR LIMIT=45] App notification listing summary, blocked apps --> <plurals name="app_notification_listing_summary_others"> <item quantity="one">Turned off for <xliff:g id="count" example="1">%d</xliff:g> app</item> <item quantity="other">Turned off for <xliff:g id="count" example="10">%d</xliff:g> apps</item> <item quantity="one">Off for <xliff:g id="count" example="1">%d</xliff:g> app</item> <item quantity="other">Off for <xliff:g id="count" example="10">%d</xliff:g> apps</item> </plurals> <!-- [CHAR LIMIT=NONE] Footer listing a count of deleted channels. -->
src/com/android/settings/applications/appinfo/AppNotificationPreferenceController.java +7 −3 Original line number Diff line number Diff line Loading @@ -81,11 +81,15 @@ public class AppNotificationPreferenceController extends AppInfoPreferenceContro if (appRow == null) { return ""; } if (appRow.banned || appRow.channelCount == appRow.blockedChannelCount) { return context.getString(R.string.notifications_disabled); if (appRow.banned) { return context.getText(R.string.notifications_disabled); } else if (appRow.channelCount == 0) { return context.getText(R.string.notifications_enabled); } else if (appRow.channelCount == appRow.blockedChannelCount) { return context.getText(R.string.notifications_disabled); } else { if (appRow.blockedChannelCount == 0) { return context.getString(R.string.notifications_enabled); return context.getText(R.string.notifications_enabled); } return context.getString(R.string.notifications_enabled_with_info, context.getResources().getQuantityString(R.plurals.notifications_categories_off, Loading
src/com/android/settings/notification/ConfigureNotificationSettings.java +50 −0 Original line number Diff line number Diff line Loading @@ -26,11 +26,13 @@ import android.os.UserHandle; import android.provider.SearchIndexableResource; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import android.text.TextUtils; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.RingtonePreference; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.SummaryLoader; import com.android.settings.gestures.SwipeToNotificationPreferenceController; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; Loading Loading @@ -151,6 +153,54 @@ public class ConfigureNotificationSettings extends DashboardFragment { } } /** * For summary */ static class SummaryProvider implements SummaryLoader.SummaryProvider { private final Context mContext; private final SummaryLoader mSummaryLoader; private NotificationBackend mBackend; public SummaryProvider(Context context, SummaryLoader summaryLoader) { mContext = context; mSummaryLoader = summaryLoader; mBackend = new NotificationBackend(); } @VisibleForTesting protected void setBackend(NotificationBackend backend) { mBackend = backend; } @Override public void setListening(boolean listening) { if (!listening) { return; } int blockedAppCount = mBackend.getBlockedAppCount(); if (blockedAppCount == 0) { mSummaryLoader.setSummary(this, mContext.getText(R.string.app_notification_listing_summary_zero)); } else { mSummaryLoader.setSummary(this, mContext.getResources().getQuantityString( R.plurals.app_notification_listing_summary_others, blockedAppCount, blockedAppCount)); } } } public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY = new SummaryLoader.SummaryProviderFactory() { @Override public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity, SummaryLoader summaryLoader) { return new ConfigureNotificationSettings.SummaryProvider( activity, summaryLoader); } }; /** * For Search. */ Loading
src/com/android/settings/notification/NotificationBackend.java +9 −0 Original line number Diff line number Diff line Loading @@ -250,6 +250,15 @@ public class NotificationBackend { } } public int getBlockedAppCount() { try { return sINM.getBlockedAppCount(UserHandle.myUserId()); } catch (Exception e) { Log.w(TAG, "Error calling NoMan", e); return 0; } } static class Row { public String section; } Loading