diff --git a/emailcommon/AndroidManifest.xml b/emailcommon/AndroidManifest.xml
index 4659bbbba..c1fcdb4dc 100644
--- a/emailcommon/AndroidManifest.xml
+++ b/emailcommon/AndroidManifest.xml
@@ -2,5 +2,5 @@
-
+
diff --git a/emailcommon/src/com/android/emailcommon/utility/EmailAsyncTask.java b/emailcommon/src/com/android/emailcommon/utility/EmailAsyncTask.java
index e0db42789..492816b40 100644
--- a/emailcommon/src/com/android/emailcommon/utility/EmailAsyncTask.java
+++ b/emailcommon/src/com/android/emailcommon/utility/EmailAsyncTask.java
@@ -263,14 +263,17 @@ public final Result get() throws InterruptedException, ExecutionException {
return mInnerTask.get();
}
+ @VisibleForTesting
/* package */ final Result callDoInBackgroundForTest(Params... params) {
return mInnerTask.doInBackground(params);
}
+ @VisibleForTesting
/* package */ final void callOnCancelledForTest(Result result) {
mInnerTask.onCancelled(result);
}
+ @VisibleForTesting
/* package */ final void callOnPostExecuteForTest(Result result) {
mInnerTask.onPostExecute(result);
}
diff --git a/proguard-test.flags b/proguard-test.flags
index 26d7deabf..3daa0bec7 100644
--- a/proguard-test.flags
+++ b/proguard-test.flags
@@ -91,8 +91,12 @@
*** tempFileExistsForTest();
}
+-keepclasseswithmembers class com.android.emailcommon.utility.EmailAsyncTask {
+ *** callDoInBackgroundForTest(Params...);
+}
-keepclasseswithmembers class com.android.emailcommon.utility.EmailAsyncTask$Tracker {
();
*** getTaskCountForTest();
*** containsTaskForTest(com.android.emailcommon.utility.EmailAsyncTask);
}
+-keep class com.android.emailcommon.utility.DelayedOperations
diff --git a/proguard.flags b/proguard.flags
index ce5024591..0a9c2f189 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -5,4 +5,4 @@
}
-keep class com.android.email.activity.setup.AccountSetupFinal
--keep class com.android.email.activity.setup.AccountSettingsFragment
\ No newline at end of file
+-keep class com.android.email.activity.setup.AccountSettingsFragment
diff --git a/provider_src/com/android/email/provider/EmailProvider.java b/provider_src/com/android/email/provider/EmailProvider.java
index 4bd9d4d19..00d608f30 100644
--- a/provider_src/com/android/email/provider/EmailProvider.java
+++ b/provider_src/com/android/email/provider/EmailProvider.java
@@ -129,6 +129,7 @@
import com.android.mail.utils.MimeType;
import com.android.mail.utils.Utils;
import com.android.mail.widget.BaseWidgetProvider;
+import com.android.mail.widget.WidgetService;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
@@ -6139,6 +6140,9 @@ private void notifyWidgets(long mailboxId) {
Context context = getContext();
// Lazily initialize these
if (mAppWidgetManager == null) {
+ if (!WidgetService.isWidgetSupported(context)) {
+ return;
+ }
mAppWidgetManager = AppWidgetManager.getInstance(context);
mEmailComponent = new ComponentName(context, WidgetProvider.getProviderName(context));
}
diff --git a/tests/src/com/android/email/ThrottleTest.java b/tests/src/com/android/email/ThrottleTest.java
index 49adea7b3..e31c51339 100644
--- a/tests/src/com/android/email/ThrottleTest.java
+++ b/tests/src/com/android/email/ThrottleTest.java
@@ -17,6 +17,7 @@
package com.android.email;
import android.os.Handler;
+import android.os.Looper;
import android.os.Message;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
@@ -37,7 +38,8 @@ public class ThrottleTest extends AndroidTestCase {
private final CountingRunnable mRunnable = new CountingRunnable();
private final MockClock mClock = new MockClock();
private final MockTimer mTimer = new MockTimer(mClock);
- private final Throttle mTarget = new Throttle("test", mRunnable, new CallItNowHandler(),
+ private final Throttle mTarget = new Throttle("test", mRunnable,
+ new CallItNowHandler(Looper.getMainLooper()),
MIN_TIMEOUT, MAX_TIMEOUT, mClock, mTimer);
/**
@@ -155,9 +157,13 @@ public void run() {
/**
* Dummy {@link Handler} that executes {@link Runnable}s passed to {@link Handler#post}
- * immediately on the current thread.
+ * immediately via the provided {@link Looper}.
*/
private static class CallItNowHandler extends Handler {
+ public CallItNowHandler(Looper looper) {
+ super(looper);
+ }
+
@Override
public boolean sendMessageAtTime(Message msg, long uptimeMillis) {
msg.getCallback().run();