1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
package com.android.systemui.quicksettings;
import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnLongClickListener;
import com.android.systemui.R;
import com.android.systemui.statusbar.phone.QuickSettingsController;
import com.android.systemui.statusbar.phone.PhoneStatusBar;
import com.android.systemui.statusbar.phone.QuickSettingsContainerView;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.NetworkSignalChangedCallback;
public class AirplaneModeTile extends QuickSettingsTile implements NetworkSignalChangedCallback{
private boolean enabled = false;
public AirplaneModeTile(Context context, LayoutInflater inflater,
QuickSettingsContainerView container, QuickSettingsController qsc) {
super(context, inflater, container, qsc);
mLabel = mContext.getString(R.string.quick_settings_airplane_mode_label);
onClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
// Change the system setting
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON,
!enabled ? 1 : 0);
// Post the intent
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", !enabled);
mContext.sendBroadcast(intent);
}
};
onLongClick = new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
startSettingsActivity(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
return true;
}
};
}
@Override
void onPostCreate() {
NetworkController controller = new NetworkController(mContext);
controller.addNetworkSignalChangedCallback(this);
super.onPostCreate();
}
@Override
public void onWifiSignalChanged(boolean enabled, int wifiSignalIconId,
String wifitSignalContentDescriptionId, String description) {
}
@Override
public void onMobileDataSignalChanged(boolean enabled,
int mobileSignalIconId, String mobileSignalContentDescriptionId,
int dataTypeIconId, String dataTypeContentDescriptionId,
String description) {
// TODO Auto-generated method stub
}
@Override
public void onAirplaneModeChanged(boolean enabled) {
this.enabled = enabled;
if(enabled){
mDrawable = R.drawable.ic_qs_airplane_on;
}else{
mDrawable = R.drawable.ic_qs_airplane_off;
}
updateQuickSettings();
}
}
|