package com.android.settings.widget.buttons; import android.content.Context; 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 AutoRotateButton extends WidgetButton { static AutoRotateButton ownButton=null; @Override public void toggleState(Context context) { if(getOrientationState(context)==0) { Settings.System.putInt( context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 1); } else { Settings.System.putInt( context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0); } } @Override public void updateState(Context context, SharedPreferences globalPreferences, int[] appWidgetIds) { if (getOrientationState(context)==1) { currentIcon=R.drawable.ic_appwidget_settings_orientation_on; currentState=SettingsAppWidgetProvider.STATE_ENABLED; } else { currentIcon=R.drawable.ic_appwidget_settings_orientation_off; currentState=SettingsAppWidgetProvider.STATE_DISABLED; } } public static int getOrientationState(Context context) { return Settings.System.getInt( context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0); } public static AutoRotateButton getInstance() { if (ownButton==null) ownButton = new AutoRotateButton(); return ownButton; } @Override void initButton() { buttonID=WidgetButton.BUTTON_AUTO_ROTATE; preferenceName=WidgetSettings.TOGGLE_AUTO_ROTATE ; } }