Merge "Use alternative PhoneStateListener formal API" am: 5d0529e6d0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1466222 Change-Id: If80a6359b6570b5c99fcb1a5ace13f3599e5fc0d
This commit is contained in:
@@ -19,12 +19,12 @@ package com.android.server.connectivity;
|
|||||||
import static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN;
|
import static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN;
|
||||||
import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS;
|
import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS;
|
||||||
|
|
||||||
|
import android.annotation.NonNull;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.telephony.NetworkRegistrationInfo;
|
import android.telephony.NetworkRegistrationInfo;
|
||||||
import android.telephony.PhoneStateListener;
|
import android.telephony.PhoneStateListener;
|
||||||
@@ -36,6 +36,9 @@ import android.util.Log;
|
|||||||
import com.android.internal.app.IBatteryStats;
|
import com.android.internal.app.IBatteryStats;
|
||||||
import com.android.server.am.BatteryStatsService;
|
import com.android.server.am.BatteryStatsService;
|
||||||
|
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
import java.util.concurrent.RejectedExecutionException;
|
||||||
|
|
||||||
public class DataConnectionStats extends BroadcastReceiver {
|
public class DataConnectionStats extends BroadcastReceiver {
|
||||||
private static final String TAG = "DataConnectionStats";
|
private static final String TAG = "DataConnectionStats";
|
||||||
private static final boolean DEBUG = false;
|
private static final boolean DEBUG = false;
|
||||||
@@ -55,7 +58,8 @@ public class DataConnectionStats extends BroadcastReceiver {
|
|||||||
mContext = context;
|
mContext = context;
|
||||||
mBatteryStats = BatteryStatsService.getService();
|
mBatteryStats = BatteryStatsService.getService();
|
||||||
mListenerHandler = listenerHandler;
|
mListenerHandler = listenerHandler;
|
||||||
mPhoneStateListener = new PhoneStateListenerImpl(listenerHandler.getLooper());
|
mPhoneStateListener =
|
||||||
|
new PhoneStateListenerImpl(new PhoneStateListenerExecutor(listenerHandler));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startMonitoring() {
|
public void startMonitoring() {
|
||||||
@@ -140,9 +144,24 @@ public class DataConnectionStats extends BroadcastReceiver {
|
|||||||
&& mServiceState.getState() != ServiceState.STATE_POWER_OFF;
|
&& mServiceState.getState() != ServiceState.STATE_POWER_OFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static class PhoneStateListenerExecutor implements Executor {
|
||||||
|
@NonNull
|
||||||
|
private final Handler mHandler;
|
||||||
|
|
||||||
|
PhoneStateListenerExecutor(@NonNull Handler handler) {
|
||||||
|
mHandler = handler;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void execute(Runnable command) {
|
||||||
|
if (!mHandler.post(command)) {
|
||||||
|
throw new RejectedExecutionException(mHandler + " is shutting down");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private class PhoneStateListenerImpl extends PhoneStateListener {
|
private class PhoneStateListenerImpl extends PhoneStateListener {
|
||||||
PhoneStateListenerImpl(Looper looper) {
|
PhoneStateListenerImpl(Executor executor) {
|
||||||
super(looper);
|
super(executor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user