Guest User

Untitled

a guest
May 20th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1. package com.android.systemui.statusbar.powercontrols;
  2.  
  3. import com.android.systemui.R;
  4. import com.android.internal.telephony.Phone;
  5.  
  6. import android.app.AlertDialog;
  7. import android.app.AlertDialog.Builder;
  8. import android.content.ContentResolver;
  9. import android.content.Context;
  10. import android.content.DialogInterface;
  11. import android.content.DialogInterface.OnClickListener;
  12. import android.database.ContentObserver;
  13. import android.net.ConnectivityManager;
  14. import android.os.Handler;
  15. import android.provider.Settings;
  16. import android.provider.Settings.Secure;
  17. import android.telephony.TelephonyManager;
  18. import android.util.AttributeSet;
  19. import android.util.Log;
  20. import android.view.LayoutInflater;
  21. import android.view.View;
  22. import android.view.Window;
  23. import android.widget.CheckBox;
  24. import android.widget.CompoundButton;
  25. import android.widget.CompoundButton.OnCheckedChangeListener;
  26. import android.widget.ImageView;
  27.  
  28. public final class MobileDataSettingButton extends PowerControls
  29. {
  30. private MobileDataObserver mMobileDataObserver = new MobileDataObserver();
  31.  
  32. private void setLTEDataEnabled(boolean paramBoolean)
  33. {
  34. TelephonyManager tm = (TelephonyManager) this.mContext.getSystemService(Context.TELEPHONY_SERVICE);
  35. if (tm != null)
  36. {
  37. Log.i("MobileDataSettingButton", "setLTEDataEnabled: set to = " + paramBoolean);
  38. tm.LTEtoggle(paramBoolean);
  39. Log.i("MobileDataSettingButton", "setLTEDataEnabled : TelephonyManager = null");
  40. }
  41. }
  42.  
  43. public MobileDataSettingButton(Context paramContext, AttributeSet paramAttributeSet)
  44. {
  45. super(paramContext, paramAttributeSet);
  46. }
  47.  
  48. private void updateIcons()
  49. {
  50. View localView = getRootView();
  51. ImageView pcIcon = (ImageView)localView.findViewById(R.id.pc_data_btn_icon);
  52. ImageView pcStatus = (ImageView)localView.findViewById(R.id.pc_data_btn_status_icon);
  53. switch (getActivateStatus())
  54. {
  55. default:
  56. case 1:
  57. pcIcon.setImageResource(R.drawable.pc_data_on);
  58. pcStatus.setImageResource(R.drawable.pc_icon_on);
  59. break;
  60. case 0:
  61. pcIcon.setImageResource(R.drawable.pc_data_off);
  62. pcStatus.setImageResource(R.drawable.pc_icon_off);
  63. break;
  64. }
  65. }
  66.  
  67. private void updateStatus()
  68. {
  69. if (Settings.System.getInt(this.mContext.getContentResolver(), "lte_toggle", 1) == 1)
  70. {
  71. setActivateStatus(1);
  72. updateIcons();
  73. }
  74. else
  75. {
  76. setActivateStatus(0);
  77. updateIcons();
  78. }
  79. }
  80.  
  81. public void activate()
  82. {
  83. Log.e("MobileDataSettingButton", "activate()");
  84. Settings.System.putInt(this.mContext.getContentResolver(), "lte_toggle", 1);
  85. setLTEDataEnabled(true);
  86. }
  87.  
  88. public void deactivate()
  89. {
  90. Log.e("MobileDataSettingButton", "deactivate()");
  91. Settings.System.putInt(this.mContext.getContentResolver(), "lte_toggle", 0);
  92. setLTEDataEnabled(false);
  93. }
  94.  
  95. protected void onAttachedToWindow()
  96. {
  97. super.onAttachedToWindow();
  98. Log.e("MobileDataSettingButton", "onAttachedToWindow()");
  99. this.mContext.getContentResolver().registerContentObserver(Settings.Secure.getUriFor("preferred_network_mode"), false, this.mMobileDataObserver);
  100. updateStatus();
  101. }
  102.  
  103. protected void onDetachedFromWindow()
  104. {
  105. super.onDetachedFromWindow();
  106. Log.e("MobileDataSettingButton", "onDetachedFromWindow()");
  107. this.mContext.getContentResolver().unregisterContentObserver(this.mMobileDataObserver);
  108. }
  109.  
  110. public void updateResources()
  111. {
  112. setText(R.string.pc_data_text);
  113. }
  114.  
  115. private class MobileDataObserver extends ContentObserver
  116. {
  117. public MobileDataObserver()
  118. {
  119. super(new Handler());
  120. }
  121.  
  122. public void onChange(boolean paramBoolean)
  123. {
  124. MobileDataSettingButton.this.updateStatus();
  125. }
  126. }
  127. }
Add Comment
Please, Sign In to add comment