Switch to use ThreadUtils.postOnMainThread
Change-Id: I344d25a1a667de9c0b23d6d528d905b4da3a4c40 Fixes: 63896139 Test: rerun tests
This commit is contained in:
@@ -23,18 +23,16 @@ import android.content.Context;
|
||||
import android.content.SyncStatusObserver;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.text.format.DateFormat;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settingslib.accounts.AuthenticatorHelper;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
||||
abstract class AccountPreferenceBase extends SettingsPreferenceFragment
|
||||
@@ -46,8 +44,6 @@ abstract class AccountPreferenceBase extends SettingsPreferenceFragment
|
||||
public static final String AUTHORITIES_FILTER_KEY = "authorities";
|
||||
public static final String ACCOUNT_TYPES_FILTER_KEY = "account_types";
|
||||
|
||||
private final Handler mHandler = new Handler();
|
||||
|
||||
private UserManager mUm;
|
||||
private Object mStatusChangeListenerHandle;
|
||||
protected AuthenticatorHelper mAuthenticatorHelper;
|
||||
@@ -118,29 +114,8 @@ abstract class AccountPreferenceBase extends SettingsPreferenceFragment
|
||||
ContentResolver.removeStatusChangeListener(mStatusChangeListenerHandle);
|
||||
}
|
||||
|
||||
private SyncStatusObserver mSyncStatusObserver = new SyncStatusObserver() {
|
||||
public void onStatusChanged(int which) {
|
||||
mHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
onSyncStateUpdated();
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
public ArrayList<String> getAuthoritiesForAccountType(String type) {
|
||||
return mAuthenticatorHelper.getAuthoritiesForAccountType(type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the preferences.xml file associated with a particular account type.
|
||||
* @param accountType the type of account
|
||||
* @return a PreferenceScreen inflated from accountPreferenceId.
|
||||
*/
|
||||
public PreferenceScreen addPreferencesForType(final String accountType,
|
||||
PreferenceScreen parent) {
|
||||
return mAccountTypePreferenceLoader.addPreferencesForType(accountType, parent);
|
||||
}
|
||||
private SyncStatusObserver mSyncStatusObserver =
|
||||
which -> ThreadUtils.postOnMainThread(() -> onSyncStateUpdated());
|
||||
|
||||
public void updateAuthDescriptions() {
|
||||
mAuthenticatorHelper.updateAuthDescriptions(getActivity());
|
||||
|
@@ -21,7 +21,6 @@ import android.content.pm.ServiceInfo;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.os.Debug;
|
||||
import android.os.Handler;
|
||||
import android.os.SystemClock;
|
||||
import android.os.UserHandle;
|
||||
import android.provider.Settings;
|
||||
@@ -37,6 +36,7 @@ import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
@@ -481,15 +481,12 @@ public class RunningServiceDetails extends InstrumentedPreferenceFragment
|
||||
addDetailViews();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void finish() {
|
||||
(new Handler()).post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Activity a = getActivity();
|
||||
if (a != null) {
|
||||
a.onBackPressed();
|
||||
}
|
||||
ThreadUtils.postOnMainThread(() -> {
|
||||
final Activity a = getActivity();
|
||||
if (a != null) {
|
||||
a.onBackPressed();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@@ -27,7 +27,6 @@ import android.content.pm.ResolveInfo;
|
||||
import android.content.pm.ServiceInfo;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.provider.Settings;
|
||||
import android.service.autofill.AutofillService;
|
||||
import android.service.autofill.AutofillServiceInfo;
|
||||
@@ -39,6 +38,7 @@ import android.util.Log;
|
||||
import com.android.internal.content.PackageMonitor;
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.settings.R;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -59,7 +59,6 @@ public class DefaultAutofillPicker extends DefaultAppPickerFragment {
|
||||
* Set when the fragment is implementing ACTION_REQUEST_SET_AUTOFILL_SERVICE.
|
||||
*/
|
||||
private DialogInterface.OnClickListener mCancelListener;
|
||||
private final Handler mHandler = new Handler();
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
@@ -123,17 +122,17 @@ public class DefaultAutofillPicker extends DefaultAppPickerFragment {
|
||||
private final PackageMonitor mSettingsPackageMonitor = new PackageMonitor() {
|
||||
@Override
|
||||
public void onPackageAdded(String packageName, int uid) {
|
||||
mHandler.post(() -> update());
|
||||
ThreadUtils.postOnMainThread(() -> update());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPackageModified(String packageName) {
|
||||
mHandler.post(() -> update());
|
||||
ThreadUtils.postOnMainThread(() -> update());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPackageRemoved(String packageName, int uid) {
|
||||
mHandler.post(() -> update());
|
||||
ThreadUtils.postOnMainThread(() -> update());
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -35,6 +35,7 @@ import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.drawer.DashboardCategory;
|
||||
import com.android.settingslib.drawer.Tile;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.List;
|
||||
@@ -52,7 +53,6 @@ public class SummaryLoader {
|
||||
private final String mCategoryKey;
|
||||
|
||||
private final Worker mWorker;
|
||||
private final Handler mHandler;
|
||||
private final HandlerThread mWorkerThread;
|
||||
|
||||
private SummaryConsumer mSummaryConsumer;
|
||||
@@ -64,7 +64,6 @@ public class SummaryLoader {
|
||||
mDashboardFeatureProvider = FeatureFactory.getFactory(activity)
|
||||
.getDashboardFeatureProvider(activity);
|
||||
mCategoryKey = null;
|
||||
mHandler = new Handler();
|
||||
mWorkerThread = new HandlerThread("SummaryLoader", Process.THREAD_PRIORITY_BACKGROUND);
|
||||
mWorkerThread.start();
|
||||
mWorker = new Worker(mWorkerThread.getLooper());
|
||||
@@ -82,7 +81,6 @@ public class SummaryLoader {
|
||||
mDashboardFeatureProvider = FeatureFactory.getFactory(activity)
|
||||
.getDashboardFeatureProvider(activity);
|
||||
mCategoryKey = categoryKey;
|
||||
mHandler = new Handler();
|
||||
mWorkerThread = new HandlerThread("SummaryLoader", Process.THREAD_PRIORITY_BACKGROUND);
|
||||
mWorkerThread.start();
|
||||
mWorker = new Worker(mWorkerThread.getLooper());
|
||||
@@ -112,25 +110,22 @@ public class SummaryLoader {
|
||||
|
||||
public void setSummary(SummaryProvider provider, final CharSequence summary) {
|
||||
final ComponentName component = mSummaryProviderMap.get(provider);
|
||||
mHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ThreadUtils.postOnMainThread(() -> {
|
||||
|
||||
final Tile tile = getTileFromCategory(
|
||||
mDashboardFeatureProvider.getTilesForCategory(mCategoryKey), component);
|
||||
final Tile tile = getTileFromCategory(
|
||||
mDashboardFeatureProvider.getTilesForCategory(mCategoryKey), component);
|
||||
|
||||
if (tile == null) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "Can't find tile for " + component);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (tile == null) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "setSummary " + tile.title + " - " + summary);
|
||||
Log.d(TAG, "Can't find tile for " + component);
|
||||
}
|
||||
|
||||
updateSummaryIfNeeded(tile, summary);
|
||||
return;
|
||||
}
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "setSummary " + tile.title + " - " + summary);
|
||||
}
|
||||
|
||||
updateSummaryIfNeeded(tile, summary);
|
||||
});
|
||||
}
|
||||
|
||||
|
@@ -27,8 +27,6 @@ import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.NetworkRequest;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -40,6 +38,7 @@ import com.android.settings.R;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.overlay.SupportFeatureProvider;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
/**
|
||||
* Fragment for support tab in SettingsGoogle.
|
||||
@@ -47,7 +46,6 @@ import com.android.settings.overlay.SupportFeatureProvider;
|
||||
public final class SupportFragment extends InstrumentedFragment implements View.OnClickListener,
|
||||
OnAccountsUpdateListener {
|
||||
|
||||
private final Handler mHandler = new Handler(Looper.getMainLooper());
|
||||
private final ConnectivityManager.NetworkCallback mNetworkCallback =
|
||||
new ConnectivityManager.NetworkCallback() {
|
||||
|
||||
@@ -152,12 +150,9 @@ public final class SupportFragment extends InstrumentedFragment implements View.
|
||||
}
|
||||
|
||||
private void postConnectivityChanged() {
|
||||
mHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (mSupportItemAdapter != null) {
|
||||
mSupportItemAdapter.setHasInternet(hasInternet());
|
||||
}
|
||||
ThreadUtils.postOnMainThread(() -> {
|
||||
if (mSupportItemAdapter != null) {
|
||||
mSupportItemAdapter.setHasInternet(hasInternet());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@@ -14,24 +14,23 @@
|
||||
|
||||
package com.android.settings.datausage;
|
||||
|
||||
import static android.net.NetworkPolicyManager.POLICY_ALLOW_METERED_BACKGROUND;
|
||||
import static android.net.NetworkPolicyManager.POLICY_NONE;
|
||||
import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.INetworkPolicyListener;
|
||||
import android.net.NetworkPolicyManager;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.RemoteException;
|
||||
import android.util.SparseIntArray;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import static android.net.NetworkPolicyManager.POLICY_ALLOW_METERED_BACKGROUND;
|
||||
import static android.net.NetworkPolicyManager.POLICY_NONE;
|
||||
import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
|
||||
|
||||
public class DataSaverBackend {
|
||||
|
||||
private static final String TAG = "DataSaverBackend";
|
||||
@@ -39,7 +38,6 @@ public class DataSaverBackend {
|
||||
private final Context mContext;
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
private final Handler mHandler = new Handler(Looper.getMainLooper());
|
||||
private final NetworkPolicyManager mPolicyManager;
|
||||
private final ArrayList<Listener> mListeners = new ArrayList<>();
|
||||
private SparseIntArray mUidPolicies = new SparseIntArray();
|
||||
@@ -195,7 +193,7 @@ public class DataSaverBackend {
|
||||
|
||||
@Override
|
||||
public void onUidPoliciesChanged(final int uid, final int uidPolicies) {
|
||||
mHandler.post(() -> handleUidPoliciesChanged(uid, uidPolicies));
|
||||
ThreadUtils.postOnMainThread(() -> handleUidPoliciesChanged(uid, uidPolicies));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -204,7 +202,7 @@ public class DataSaverBackend {
|
||||
|
||||
@Override
|
||||
public void onRestrictBackgroundChanged(final boolean isDataSaving) throws RemoteException {
|
||||
mHandler.post(() -> handleRestrictBackgroundChanged(isDataSaving));
|
||||
ThreadUtils.postOnMainThread(() -> handleRestrictBackgroundChanged(isDataSaving));
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -20,7 +20,6 @@ import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.os.Handler;
|
||||
import android.os.UserHandle;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceCategory;
|
||||
@@ -36,6 +35,7 @@ import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.users.UserFeatureProvider;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -100,7 +100,7 @@ public class EnterpriseSetDefaultAppsListPreferenceController extends
|
||||
userMap.put(typeOfDefault, applicationInfos);
|
||||
}
|
||||
}
|
||||
new Handler(mContext.getMainLooper()).post(() -> { updateUi(); });
|
||||
ThreadUtils.postOnMainThread(() -> updateUi());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -23,8 +23,6 @@ import android.net.IConnectivityManager;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkRequest;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.os.UserHandle;
|
||||
@@ -45,6 +43,7 @@ import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnPause;
|
||||
import com.android.settingslib.core.lifecycle.events.OnResume;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -157,7 +156,7 @@ public class VpnPreferenceController extends AbstractPreferenceController
|
||||
} else {
|
||||
summary = getNameForVpnConfig(vpn, UserHandle.of(uid));
|
||||
}
|
||||
new Handler(Looper.getMainLooper()).post(() -> mPreference.setSummary(summary));
|
||||
ThreadUtils.postOnMainThread(() -> mPreference.setSummary(summary));
|
||||
}
|
||||
|
||||
private String getNameForVpnConfig(VpnConfig cfg, UserHandle user) {
|
||||
|
@@ -61,6 +61,7 @@ import android.widget.TextView;
|
||||
import com.android.settings.ProxySelector;
|
||||
import com.android.settings.R;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
|
||||
import java.net.Inet4Address;
|
||||
@@ -116,8 +117,6 @@ public class WifiConfigController implements TextWatcher,
|
||||
/* Full list of phase2 methods */
|
||||
private final ArrayAdapter<String> mPhase2FullAdapter;
|
||||
|
||||
private final Handler mTextViewChangedHandler;
|
||||
|
||||
// e.g. AccessPoint.SECURITY_NONE
|
||||
private int mAccessPointSecurity;
|
||||
private TextView mPasswordView;
|
||||
@@ -175,7 +174,6 @@ public class WifiConfigController implements TextWatcher,
|
||||
accessPoint.getSecurity();
|
||||
mMode = mode;
|
||||
|
||||
mTextViewChangedHandler = new Handler();
|
||||
mContext = mConfigUi.getContext();
|
||||
final Resources res = mContext.getResources();
|
||||
|
||||
@@ -1258,12 +1256,10 @@ public class WifiConfigController implements TextWatcher,
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
mTextViewChangedHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
showWarningMessagesIfAppropriate();
|
||||
enableSubmitIfAppropriate();
|
||||
}
|
||||
});
|
||||
ThreadUtils.postOnMainThread(() -> {
|
||||
showWarningMessagesIfAppropriate();
|
||||
enableSubmitIfAppropriate();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -63,7 +63,6 @@ class WriteWifiConfigToNfcDialog extends AlertDialog
|
||||
private View mView;
|
||||
private Button mSubmitButton;
|
||||
private Button mCancelButton;
|
||||
private Handler mOnTextChangedHandler;
|
||||
private TextView mPasswordView;
|
||||
private TextView mLabelView;
|
||||
private CheckBox mPasswordCheckBox;
|
||||
@@ -79,7 +78,6 @@ class WriteWifiConfigToNfcDialog extends AlertDialog
|
||||
mContext = context;
|
||||
mWakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE))
|
||||
.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WriteWifiConfigToNfcDialog:wakeLock");
|
||||
mOnTextChangedHandler = new Handler();
|
||||
mSecurity = security;
|
||||
mWifiManager = wifiManager;
|
||||
}
|
||||
@@ -90,7 +88,6 @@ class WriteWifiConfigToNfcDialog extends AlertDialog
|
||||
mContext = context;
|
||||
mWakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE))
|
||||
.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WriteWifiConfigToNfcDialog:wakeLock");
|
||||
mOnTextChangedHandler = new Handler();
|
||||
mSecurity = savedState.getInt(SECURITY);
|
||||
mWifiManager = wifiManager;
|
||||
}
|
||||
@@ -226,12 +223,7 @@ class WriteWifiConfigToNfcDialog extends AlertDialog
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
mOnTextChangedHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
enableSubmitIfAppropriate();
|
||||
}
|
||||
});
|
||||
enableSubmitIfAppropriate();
|
||||
}
|
||||
|
||||
private void enableSubmitIfAppropriate() {
|
||||
|
Reference in New Issue
Block a user