Added airplane mode feature

closes #147
This commit is contained in:
2012-08-23 12:25:09 -04:00
parent f8513d6c67
commit ee943ea218
7 changed files with 39 additions and 6 deletions

View File

@@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.TwentyCodes.android.LocationRinger"
android:installLocation="internalOnly"
android:versionCode="156"
android:versionName="ec9f0d1" >
android:versionCode="165"
android:versionName="f8513d6" >
<uses-sdk android:minSdkVersion="7"/>
@@ -21,6 +21,7 @@
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<!-- exception handler lib -->
@@ -39,7 +40,8 @@
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- licensing library -->
<uses-permission android:name="com.android.vending.CHECK_LICENSE"/>
<application
android:icon="@drawable/ic_launcher"

View File

@@ -8,6 +8,7 @@
<item>@string/music_volume</item>
<item>@string/bluetooth</item>
<item>@string/wifi</item>
<item >@string/airplane_mode</item>
</string-array>
</resources>

View File

@@ -94,5 +94,6 @@
<string name="map_mode">Map Mode</string>
<string name="current_ringer">Current Ringer:</string>
<string name="preparing_ringer">Prepearing New Ringer</string>
<string name="airplane_mode">Airplane Mode</string>
</resources>

View File

@@ -280,8 +280,8 @@ public class RingerDatabase {
public static final String KEY_DTMF_VOLUME = "dtmf_volume";
public static final String KEY_SYSTEM_VOLUME = "system_volume";
public static final String KEY_CALL_VOLUME = "call_volume";
public static final String KEY_RINGER_DESCRIPTION = "ringer_description";
public static final String KEY_AIRPLANE_MODE = "AIRPLANE_MODE";
/**
* Parses a string boolean from the database

View File

@@ -23,6 +23,7 @@ import android.net.wifi.WifiManager;
import android.os.IBinder;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.provider.Settings;
import android.util.Log;
import com.TwentyCodes.android.LocationRinger.db.RingerDatabase;
@@ -118,6 +119,21 @@ public class RingerProcessingService extends Service {
mBluetoothAdapter.enable();
else
mBluetoothAdapter.disable();
/*
* airplane mode
*/
if(values.containsKey(RingerDatabase.KEY_AIRPLANE_MODE)){
final boolean airplaneModeEnabled = !RingerDatabase.parseBoolean(values.getAsString(RingerDatabase.KEY_AIRPLANE_MODE));
// toggle airplane mode
Log.d(TAG, "airplane mode has be set "+ Settings.System.putInt(
this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, airplaneModeEnabled ? 0 : 1));
// Post an intent to reload
Intent changeMode = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
changeMode.putExtra("state", !airplaneModeEnabled);
this.sendBroadcast(changeMode);
}
}
/**

View File

@@ -24,6 +24,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Parcelable;
import android.provider.Settings;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
@@ -231,7 +232,7 @@ public class ListActivity extends Activity implements OnItemClickListener, OnCli
info.put(RingerDatabase.KEY_RINGTONE_VOLUME, am.getStreamVolume(AudioManager.STREAM_RING));
info.put(RingerDatabase.KEY_BT, bt.isEnabled());
info.put(RingerDatabase.KEY_WIFI, wifi.isWifiEnabled());
info.put(RingerDatabase.KEY_AIRPLANE_MODE, Settings.System.getInt(this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) != 0);
new Handler().post(new Runnable(){
public void run(){

View File

@@ -42,6 +42,7 @@ public class FeatureListFragment extends BaseFragmentListFragment implements OnC
private static final int KEY_ADDED_MUSIC_VOLUME = 3;
private static final int KEY_ADDED_BT = 4;
private static final int KEY_ADDED_WIFI = 5;
private static final int KEY_ADDED_AIRPLANE_MODE = 6;
private final ContentValues mInfo;
private final OnContentChangedListener mListener;
private final ArrayList<Integer> mAdded;
@@ -116,7 +117,11 @@ public class FeatureListFragment extends BaseFragmentListFragment implements OnC
f = new ToggleButtonFragment(R.drawable.ic_action_wifi, this.getString(R.string.wifi), RingerDatabase.KEY_WIFI, mInfo, mListener, this, KEY_ADDED_WIFI);
mAdded.add(KEY_ADDED_WIFI);
break;
case KEY_ADDED_AIRPLANE_MODE:
f = new ToggleButtonFragment(R.drawable.ic_action_airplane, this.getString(R.string.airplane_mode), RingerDatabase.KEY_AIRPLANE_MODE, mInfo, mListener, this, KEY_ADDED_AIRPLANE_MODE);
mAdded.add(KEY_ADDED_AIRPLANE_MODE);
break;
}
return f;
}
@@ -146,6 +151,10 @@ public class FeatureListFragment extends BaseFragmentListFragment implements OnC
if (mInfo.containsKey(RingerDatabase.KEY_WIFI))
what.add(initFeatureFragment(KEY_ADDED_WIFI));
if (mInfo.containsKey(RingerDatabase.KEY_AIRPLANE_MODE))
what.add(initFeatureFragment(KEY_ADDED_AIRPLANE_MODE));
return what;
}
@@ -276,6 +285,9 @@ public class FeatureListFragment extends BaseFragmentListFragment implements OnC
case KEY_ADDED_WIFI:
mListener.onInfoContentRemoved(RingerDatabase.KEY_WIFI);
break;
case KEY_ADDED_AIRPLANE_MODE:
mListener.onInfoContentRemoved(RingerDatabase.KEY_AIRPLANE_MODE);
break;
}
}
}