Implement auto backups

pull/30/head
Alinson S. Xavier 10 years ago
parent 3652794132
commit 1f64abcce6

@ -5,13 +5,15 @@
android:versionCode="2"
android:versionName="1.0.0">
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission
android:name="android.permission.VIBRATE"/>
<application
android:name="com.activeandroid.app.Application"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
android:theme="@style/AppBaseTheme"
android:backupAgent=".HabitsBackupAgent">
<meta-data
android:name="AA_DB_NAME"
@ -21,6 +23,10 @@
android:name="AA_DB_VERSION"
android:value="7"/>
<meta-data
android:name="com.google.android.backup.api_key"
android:value="AEdPqrEAAAAI6aeWncbnMNo8E5GWeZ44dlc5cQ7tCROwFhOtiw" />
<activity
android:name=".MainActivity"
android:label="@string/app_name">
@ -30,8 +36,8 @@
</intent-filter>
</activity>
<receiver android:name=".ReminderAlarmReceiver">
</receiver>
<receiver
android:name=".ReminderAlarmReceiver" />
<activity
android:name=".ShowHabitActivity"

@ -1,6 +1,7 @@
package org.isoron.helpers;
import android.app.Activity;
import android.app.backup.BackupManager;
import android.os.Bundle;
import android.widget.Toast;
@ -28,6 +29,7 @@ abstract public class ReplayableActivity extends Activity
public void executeCommand(Command command)
{
executeCommand(command, false);
BackupManager.dataChanged("org.isoron.uhabits");
}
protected void undo()

@ -0,0 +1,15 @@
package org.isoron.uhabits;
import android.app.backup.BackupAgentHelper;
import android.app.backup.FileBackupHelper;
import android.app.backup.SharedPreferencesBackupHelper;
public class HabitsBackupAgent extends BackupAgentHelper
{
@Override
public void onCreate()
{
addHelper("preferences", new SharedPreferencesBackupHelper(this, "preferences"));
addHelper("database", new FileBackupHelper(this, "../databases/uhabits.db"));
}
}

@ -1,12 +1,14 @@
package org.isoron.uhabits.dialogs;
import android.app.backup.BackupManager;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import org.isoron.uhabits.R;
public class SettingsFragment extends PreferenceFragment
public class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener
{
@Override
public void onCreate(Bundle savedInstanceState)
@ -14,4 +16,26 @@ public class SettingsFragment extends PreferenceFragment
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
@Override
public void onResume()
{
super.onResume();
getPreferenceManager().getSharedPreferences().
registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onPause()
{
getPreferenceManager().getSharedPreferences().
unregisterOnSharedPreferenceChangeListener(this);
super.onPause();
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key)
{
BackupManager.dataChanged("org.isoron.uhabits");
}
}
Loading…
Cancel
Save