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"
package="com.TwentyCodes.android.LocationRinger"
android:installLocation="internalOnly"
android:versionCode="154"
android:versionName="7d75bb1" >
android:versionCode="156"
android:versionName="ec9f0d1" >
<uses-sdk android:minSdkVersion="7"/>

View File

@@ -13,6 +13,8 @@ package com.TwentyCodes.android.LocationRinger.db;
* @author ricky barrette
*/
public interface DatabaseListener {
public void onDatabaseCreate();
public void onDatabaseUpgrade();
@@ -21,5 +23,5 @@ public interface DatabaseListener {
public void onRestoreComplete();
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_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) + "')");
if(mListener != null)
mListener.onDatabaseCreate();
}
/**
@@ -256,9 +258,9 @@ public class RingerDatabase {
public final static String KEY_NOTIFICATION_RINGTONE = "notification_ringtone";
@Deprecated
public final static String KEY_RINGTONE_IS_SILENT = "ringtone_is_silent";
@Deprecated
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_RADIUS = "radius";
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.Dialog;
import android.app.ProgressDialog;
import android.bluetooth.BluetoothAdapter;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.media.AudioManager;
import android.media.RingtoneManager;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Parcelable;
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
*