package com.android.settings.widget.buttons;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.provider.Settings;
import com.android.settings.R;
import com.android.settings.widget.SettingsAppWidgetProvider;
import com.android.settings.widget.WidgetSettings;
public class AirplaneButton extends WidgetButton {
static AirplaneButton ownButton=null;
public void updateState(Context context,
SharedPreferences globalPreferences, int[] appWidgetIds) {
if (getState(context)) {
currentIcon=R.drawable.ic_appwidget_settings_airplane_on;
currentState=SettingsAppWidgetProvider.STATE_ENABLED;
} else {
currentIcon=R.drawable.ic_appwidget_settings_airplane_off;
currentState=SettingsAppWidgetProvider.STATE_DISABLED;
}
}
/**
* Toggles the state of Airplane
*
* @param context
*/
public void toggleState(Context context) {
boolean state= getState(context);
Settings.System.putInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, state ? 0 : 1);
// notify change
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", state);
context.sendBroadcast(intent);
}
/**
* Gets the state of Airplane.
*
* @param context
* @return true if enabled.
*/
private static boolean getState(Context context) {
return Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON,0)==1;
}
public static AirplaneButton getInstance() {
if (ownButton==null)
ownButton = new AirplaneButton();
return ownButton;
}
@Override
void initButton() {
buttonID=WidgetButton.BUTTON_AIRPLANE;
preferenceName=WidgetSettings.TOGGLE_AIRPLANE;
}
}