| Index: components/policy/android/java/src/org/chromium/policy/AbstractAppRestrictionsProvider.java
|
| diff --git a/components/policy/android/java/src/org/chromium/policy/AbstractAppRestrictionsProvider.java b/components/policy/android/java/src/org/chromium/policy/AbstractAppRestrictionsProvider.java
|
| index 82b19399d9ec1ae6f8fe20fcb4cb678ee251b5ed..64f886b169d84764d0a02b7cdcf3b3c01a8bf122 100644
|
| --- a/components/policy/android/java/src/org/chromium/policy/AbstractAppRestrictionsProvider.java
|
| +++ b/components/policy/android/java/src/org/chromium/policy/AbstractAppRestrictionsProvider.java
|
| @@ -11,11 +11,13 @@
|
| import android.content.SharedPreferences;
|
| import android.os.AsyncTask;
|
| import android.os.Bundle;
|
| +import android.os.Handler;
|
| import android.os.Parcel;
|
| import android.preference.PreferenceManager;
|
| import android.util.Base64;
|
|
|
| import org.chromium.base.Log;
|
| +import org.chromium.base.ThreadUtils;
|
| import org.chromium.base.VisibleForTesting;
|
| import org.chromium.base.metrics.RecordHistogram;
|
|
|
| @@ -75,8 +77,10 @@ public AbstractAppRestrictionsProvider(Context context) {
|
| public void startListeningForPolicyChanges() {
|
| String changeIntentAction = getRestrictionChangeIntentAction();
|
| if (changeIntentAction == null) return;
|
| - mContext.registerReceiver(
|
| - mAppRestrictionsChangedReceiver, new IntentFilter(changeIntentAction));
|
| +
|
| + mContext.registerReceiver(mAppRestrictionsChangedReceiver,
|
| + new IntentFilter(changeIntentAction), null,
|
| + new Handler(ThreadUtils.getUiThreadLooper()));
|
| }
|
|
|
| /**
|
| @@ -95,21 +99,22 @@ public void refresh() {
|
| notifySettingsAvailable(cachedResult);
|
| }
|
|
|
| - new AsyncTask<Void, Void, Bundle>() {
|
| + mExecutor.execute(new Runnable() {
|
| @Override
|
| - protected Bundle doInBackground(Void... params) {
|
| + public void run() {
|
| long startTime = System.currentTimeMillis();
|
| - Bundle bundle = getApplicationRestrictions(mContext.getPackageName());
|
| + final Bundle bundle = getApplicationRestrictions(mContext.getPackageName());
|
| recordStartTimeHistogram(startTime);
|
| - return bundle;
|
| - }
|
|
|
| - @Override
|
| - protected void onPostExecute(Bundle result) {
|
| - cachePolicies(result);
|
| - notifySettingsAvailable(result);
|
| + ThreadUtils.runOnUiThread(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + cachePolicies(bundle);
|
| + notifySettingsAvailable(bundle);
|
| + }
|
| + });
|
| }
|
| - }.executeOnExecutor(mExecutor);
|
| + });
|
| }
|
|
|
| @Override
|
|
|