Populate Default Ringer

The default ringer is not populated with the user's current settings
after database creation

closes #60
This commit is contained in:
2012-08-20 12:04:50 -04:00
parent ec9f0d18dc
commit a769a38472
4 changed files with 43 additions and 4 deletions

View File

@@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.TwentyCodes.android.LocationRinger" package="com.TwentyCodes.android.LocationRinger"
android:installLocation="internalOnly" android:installLocation="internalOnly"
android:versionCode="154" android:versionCode="156"
android:versionName="7d75bb1" > android:versionName="ec9f0d1" >
<uses-sdk android:minSdkVersion="7"/> <uses-sdk android:minSdkVersion="7"/>

View File

@@ -13,6 +13,8 @@ package com.TwentyCodes.android.LocationRinger.db;
* @author ricky barrette * @author ricky barrette
*/ */
public interface DatabaseListener { public interface DatabaseListener {
public void onDatabaseCreate();
public void onDatabaseUpgrade(); public void onDatabaseUpgrade();
@@ -21,5 +23,5 @@ public interface DatabaseListener {
public void onRestoreComplete(); public void onRestoreComplete();
public void onRingerDeletionComplete(); public void onRingerDeletionComplete();
} }

View File

@@ -138,6 +138,8 @@ public class RingerDatabase {
db.execSQL("insert into " + RINGER_TABLE + "(" + KEY_RINGER_NAME + ") values ('" + mContext.getString(R.string.default_ringer) + "')"); db.execSQL("insert into " + RINGER_TABLE + "(" + KEY_RINGER_NAME + ") values ('" + mContext.getString(R.string.default_ringer) + "')");
db.execSQL("insert into " + RINGER_INFO_TABLE + "(" + KEY_RINGER_NAME + ", " + KEY + ", " + KEY_VALUE + ") values ('" db.execSQL("insert into " + RINGER_INFO_TABLE + "(" + KEY_RINGER_NAME + ", " + KEY + ", " + KEY_VALUE + ") values ('"
+ mContext.getString(R.string.default_ringer) + "', '" + KEY_RINGER_DESCRIPTION + "', '" + mContext.getString(R.string.about_default_ringer) + "')"); + mContext.getString(R.string.default_ringer) + "', '" + KEY_RINGER_DESCRIPTION + "', '" + mContext.getString(R.string.about_default_ringer) + "')");
if(mListener != null)
mListener.onDatabaseCreate();
} }
/** /**
@@ -256,9 +258,9 @@ public class RingerDatabase {
public final static String KEY_NOTIFICATION_RINGTONE = "notification_ringtone"; public final static String KEY_NOTIFICATION_RINGTONE = "notification_ringtone";
@Deprecated @Deprecated
public final static String KEY_RINGTONE_IS_SILENT = "ringtone_is_silent"; public final static String KEY_RINGTONE_IS_SILENT = "ringtone_is_silent";
@Deprecated @Deprecated
public final static String KEY_NOTIFICATION_IS_SILENT = "notification_is_silent"; public final static String KEY_NOTIFICATION_IS_SILENT = "notification_is_silent";
public final static String KEY_IS_ENABLED = "is_enabled"; public final static String KEY_IS_ENABLED = "is_enabled";
public final static String KEY_RADIUS = "radius"; public final static String KEY_RADIUS = "radius";
public final static String KEY_RINGER_NAME = "ringer_name"; public final static String KEY_RINGER_NAME = "ringer_name";

View File

@@ -11,11 +11,17 @@ import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.bluetooth.BluetoothAdapter;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.database.Cursor; import android.database.Cursor;
import android.media.AudioManager;
import android.media.RingtoneManager;
import android.net.wifi.WifiManager;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.Parcelable; import android.os.Parcelable;
import android.view.ContextMenu; import android.view.ContextMenu;
@@ -205,6 +211,35 @@ public class ListActivity extends Activity implements OnItemClickListener, OnCli
} }
/**
* Called when the database is first created.
* Here we want to populate the populate the default ringr
*/
@Override
public void onDatabaseCreate() {
final AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
final WifiManager wifi= (WifiManager) getSystemService(WIFI_SERVICE);
final BluetoothAdapter bt= BluetoothAdapter.getDefaultAdapter();
final ContentValues ringer = new ContentValues();
final ContentValues info = new ContentValues();
ringer.put(RingerDatabase.KEY_RINGER_NAME, getString(R.string.default_ringer));
info.put(RingerDatabase.KEY_ALARM_VOLUME, am.getStreamVolume(AudioManager.STREAM_ALARM));
info.put(RingerDatabase.KEY_MUSIC_VOLUME, am.getStreamVolume(AudioManager.STREAM_MUSIC));
info.put(RingerDatabase.KEY_NOTIFICATION_RINGTONE_URI, RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_NOTIFICATION).toString());
info.put(RingerDatabase.KEY_NOTIFICATION_RINGTONE_VOLUME, am.getStreamVolume(AudioManager.STREAM_NOTIFICATION));
info.put(RingerDatabase.KEY_RINGTONE_URI, RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE).toString());
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());
new Handler().post(new Runnable(){
public void run(){
mDb.updateRinger(1, ringer, info);
}
});
}
/** /**
* Called when a database is being upgraded * Called when a database is being upgraded
* *