Have the DataConnectionStat started from BSS
ConnectivityService is going to becoming a mainline module. The DataConnectionStat is used to listen the telephony status change and report to BSS. This does not really relate to connectivity. DataConnectionStat was created in ConnectivityService and use some hidden APIs which is not allowed for a mainline module. Thus, move the creation and monitor to BSS directly which is more appropriate place from its functional perspective. Also, move the DataConnectionStat out from module scope since it does have too much relationship with connectivity module. Bug: 171183530 Test: m ; verify the behavior with cellular state change Change-Id: I0c2c1b90df7a107ee75e81fd49d39d65678204c0 Merged-In: I0c2c1b90df7a107ee75e81fd49d39d65678204c0
This commit is contained in:
@@ -200,7 +200,6 @@ filegroup {
|
||||
"java/com/android/server/TestNetworkService.java",
|
||||
"java/com/android/server/connectivity/AutodestructReference.java",
|
||||
"java/com/android/server/connectivity/ConnectivityConstants.java",
|
||||
"java/com/android/server/connectivity/DataConnectionStats.java",
|
||||
"java/com/android/server/connectivity/DnsManager.java",
|
||||
"java/com/android/server/connectivity/KeepaliveTracker.java",
|
||||
"java/com/android/server/connectivity/LingerMonitor.java",
|
||||
|
||||
@@ -203,7 +203,6 @@ import com.android.net.module.util.LinkPropertiesUtils.CompareResult;
|
||||
import com.android.net.module.util.PermissionUtils;
|
||||
import com.android.server.am.BatteryStatsService;
|
||||
import com.android.server.connectivity.AutodestructReference;
|
||||
import com.android.server.connectivity.DataConnectionStats;
|
||||
import com.android.server.connectivity.DnsManager;
|
||||
import com.android.server.connectivity.DnsManager.PrivateDnsValidationUpdate;
|
||||
import com.android.server.connectivity.KeepaliveTracker;
|
||||
@@ -1213,9 +1212,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
mSettingsObserver = new SettingsObserver(mContext, mHandler);
|
||||
registerSettingsCallbacks();
|
||||
|
||||
final DataConnectionStats dataConnectionStats = new DataConnectionStats(mContext, mHandler);
|
||||
dataConnectionStats.startMonitoring();
|
||||
|
||||
mKeepaliveTracker = new KeepaliveTracker(mContext, mHandler);
|
||||
mNotifier = new NetworkNotificationManager(mContext, mTelephonyManager);
|
||||
mQosCallbackTracker = new QosCallbackTracker(mHandler, mNetworkRequestCounter);
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.os.BatteryStats;
|
||||
import android.os.BatteryStatsInternal;
|
||||
import android.os.Binder;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
import android.os.IBinder;
|
||||
import android.os.INetworkManagementService;
|
||||
import android.os.Parcel;
|
||||
@@ -67,6 +68,7 @@ import com.android.internal.util.DumpUtils;
|
||||
import com.android.internal.util.FrameworkStatsLog;
|
||||
import com.android.internal.util.ParseUtils;
|
||||
import com.android.server.LocalServices;
|
||||
import com.android.server.connectivity.DataConnectionStats;
|
||||
import com.android.server.net.BaseNetworkObserver;
|
||||
|
||||
import java.io.File;
|
||||
@@ -113,6 +115,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
|
||||
private ByteBuffer mUtf8BufferStat = ByteBuffer.allocateDirect(MAX_LOW_POWER_STATS_SIZE);
|
||||
private CharBuffer mUtf16BufferStat = CharBuffer.allocate(MAX_LOW_POWER_STATS_SIZE);
|
||||
private static final int MAX_LOW_POWER_STATS_SIZE = 4096;
|
||||
private final HandlerThread mHandlerThread;
|
||||
private final Handler mHandler;
|
||||
|
||||
@GuardedBy("mStats")
|
||||
private int mLastPowerStateFromRadio = DataConnectionRealTimeInfo.DC_POWER_STATE_LOW;
|
||||
@@ -227,6 +231,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub
|
||||
return (umi != null) ? umi.getUserIds() : null;
|
||||
}
|
||||
};
|
||||
mHandlerThread = new HandlerThread("batterystats-handler");
|
||||
mHandlerThread.start();
|
||||
mHandler = new Handler(mHandlerThread.getLooper());
|
||||
|
||||
mStats = new BatteryStatsImpl(systemDir, handler, this,
|
||||
this, mUserManagerUserInfoProvider);
|
||||
mWorker = new BatteryExternalStatsWorker(context, mStats);
|
||||
@@ -250,6 +258,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub
|
||||
Slog.e(TAG, "Could not register INetworkManagement event observer " + e);
|
||||
}
|
||||
mStats.systemServicesReady(mContext);
|
||||
|
||||
final DataConnectionStats dataConnectionStats = new DataConnectionStats(mContext, mHandler);
|
||||
dataConnectionStats.startMonitoring();
|
||||
}
|
||||
|
||||
private final class LocalService extends BatteryStatsInternal {
|
||||
|
||||
Reference in New Issue
Block a user