|
29 | 29 | import android.database.ContentObserver; |
30 | 30 | import android.graphics.drawable.Drawable; |
31 | 31 | import android.hardware.display.WifiDisplayStatus; |
| 32 | +import android.net.ConnectivityManager; |
32 | 33 | import android.os.Handler; |
33 | 34 | import android.os.UserHandle; |
34 | 35 | import android.provider.Settings; |
@@ -171,6 +172,8 @@ public void startObserving() { |
171 | 172 | private final BugreportObserver mBugreportObserver; |
172 | 173 | private final BrightnessObserver mBrightnessObserver; |
173 | 174 |
|
| 175 | + private final boolean mHasMobileData; |
| 176 | + |
174 | 177 | private QuickSettingsTileView mUserTile; |
175 | 178 | private RefreshCallback mUserCallback; |
176 | 179 | private UserState mUserState = new UserState(); |
@@ -249,6 +252,10 @@ public void onReceive(Context context, Intent intent) { |
249 | 252 | mBrightnessObserver = new BrightnessObserver(mHandler); |
250 | 253 | mBrightnessObserver.startObserving(); |
251 | 254 |
|
| 255 | + ConnectivityManager cm = (ConnectivityManager) |
| 256 | + context.getSystemService(Context.CONNECTIVITY_SERVICE); |
| 257 | + mHasMobileData = cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE); |
| 258 | + |
252 | 259 | IntentFilter alarmIntentFilter = new IntentFilter(); |
253 | 260 | alarmIntentFilter.addAction(Intent.ACTION_ALARM_CHANGED); |
254 | 261 | context.registerReceiver(mAlarmIntentReceiver, alarmIntentFilter); |
@@ -403,22 +410,22 @@ public void onWifiSignalChanged(boolean enabled, int wifiSignalIconId, |
403 | 410 | mWifiCallback.refreshView(mWifiTile, mWifiState); |
404 | 411 | } |
405 | 412 |
|
| 413 | + boolean deviceHasMobileData() { |
| 414 | + return mHasMobileData; |
| 415 | + } |
| 416 | + |
406 | 417 | // RSSI |
407 | 418 | void addRSSITile(QuickSettingsTileView view, RefreshCallback cb) { |
408 | 419 | mRSSITile = view; |
409 | 420 | mRSSICallback = cb; |
410 | 421 | mRSSICallback.refreshView(mRSSITile, mRSSIState); |
411 | 422 | } |
412 | | - boolean deviceSupportsTelephony() { |
413 | | - PackageManager pm = mContext.getPackageManager(); |
414 | | - return pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY); |
415 | | - } |
416 | 423 | // NetworkSignalChanged callback |
417 | 424 | @Override |
418 | 425 | public void onMobileDataSignalChanged( |
419 | 426 | boolean enabled, int mobileSignalIconId, String signalContentDescription, |
420 | 427 | int dataTypeIconId, String dataContentDescription, String enabledDesc) { |
421 | | - if (deviceSupportsTelephony()) { |
| 428 | + if (deviceHasMobileData()) { |
422 | 429 | // TODO: If view is in awaiting state, disable |
423 | 430 | Resources r = mContext.getResources(); |
424 | 431 | mRSSIState.signalIconId = enabled && (mobileSignalIconId > 0) |
|
0 commit comments