Merge "Notification summary updates" into pi-dev am: 81c15c05c8
am: bd9eb14472
Change-Id: I47911d0bb91bc3e00d17c28ca674f7d3c7fcdaa6
This commit is contained in:
@@ -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,
|
||||
|
@@ -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;
|
||||
@@ -153,6 +155,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.
|
||||
*/
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user