From c848b7023bcb19d7a392eb9f4669e56906e5382c Mon Sep 17 00:00:00 2001 From: Fred Quintana Date: Tue, 25 Aug 2009 20:18:46 -0700 Subject: [PATCH] clean up the too many deletes dialog --- core/java/android/content/SyncManager.java | 14 +++++++++++--- .../SubscribedFeedsProvider/AndroidManifest.xml | 3 ++- .../SubscribedFeedsProvider/res/values/strings.xml | 4 ++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java index 82cf23f13b0bd..15144a2bab68d 100644 --- a/core/java/android/content/SyncManager.java +++ b/core/java/android/content/SyncManager.java @@ -33,6 +33,7 @@ import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.RegisteredServicesCache; +import android.content.pm.ProviderInfo; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; @@ -1996,11 +1997,19 @@ class SyncManager implements OnAccountsUpdatedListener { private void installHandleTooManyDeletesNotification(Account account, String authority, long numDeletes) { if (mNotificationMgr == null) return; + + final ProviderInfo providerInfo = mContext.getPackageManager().resolveContentProvider( + authority, 0 /* flags */); + if (providerInfo == null) { + return; + } + CharSequence authorityName = providerInfo.loadLabel(mContext.getPackageManager()); + Intent clickIntent = new Intent(); clickIntent.setClassName("com.android.providers.subscribedfeeds", "com.android.settings.SyncActivityTooManyDeletes"); clickIntent.putExtra("account", account); - clickIntent.putExtra("provider", authority); + clickIntent.putExtra("provider", authorityName.toString()); clickIntent.putExtra("numDeletes", numDeletes); if (!isActivityAvailable(clickIntent)) { @@ -2014,14 +2023,13 @@ class SyncManager implements OnAccountsUpdatedListener { CharSequence tooManyDeletesDescFormat = mContext.getResources().getText( R.string.contentServiceTooManyDeletesNotificationDesc); - String[] authorities = authority.split(";"); Notification notification = new Notification(R.drawable.stat_notify_sync_error, mContext.getString(R.string.contentServiceSync), System.currentTimeMillis()); notification.setLatestEventInfo(mContext, mContext.getString(R.string.contentServiceSyncNotificationTitle), - String.format(tooManyDeletesDescFormat.toString(), authorities[0]), + String.format(tooManyDeletesDescFormat.toString(), authorityName), pendingIntent); notification.flags |= Notification.FLAG_ONGOING_EVENT; mNotificationMgr.notify(account.hashCode() ^ authority.hashCode(), notification); diff --git a/packages/SubscribedFeedsProvider/AndroidManifest.xml b/packages/SubscribedFeedsProvider/AndroidManifest.xml index d839c4e11e69b..a3938bd5f1d5d 100644 --- a/packages/SubscribedFeedsProvider/AndroidManifest.xml +++ b/packages/SubscribedFeedsProvider/AndroidManifest.xml @@ -13,7 +13,8 @@ android:label="@string/app_label"> diff --git a/packages/SubscribedFeedsProvider/res/values/strings.xml b/packages/SubscribedFeedsProvider/res/values/strings.xml index 072571d034b57..c4c2484380a05 100644 --- a/packages/SubscribedFeedsProvider/res/values/strings.xml +++ b/packages/SubscribedFeedsProvider/res/values/strings.xml @@ -17,5 +17,9 @@ Sync Feeds + + + Push Subscriptions +