summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--samples/BackupRestore/Android.mk2
-rw-r--r--samples/BackupRestore/proguard.flags3
-rw-r--r--samples/BackupRestore/res/layout/backup_restore.xml104
-rw-r--r--samples/BackupRestore/res/values/strings.xml2
-rw-r--r--samples/BackupRestore/src/com/example/android/backuprestore/BackupRestoreActivity.java21
5 files changed, 86 insertions, 46 deletions
diff --git a/samples/BackupRestore/Android.mk b/samples/BackupRestore/Android.mk
index c164a6c0b..abe2526be 100644
--- a/samples/BackupRestore/Android.mk
+++ b/samples/BackupRestore/Android.mk
@@ -10,4 +10,6 @@ LOCAL_PACKAGE_NAME := BackupRestore
LOCAL_SDK_VERSION := current
+LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+
include $(BUILD_PACKAGE)
diff --git a/samples/BackupRestore/proguard.flags b/samples/BackupRestore/proguard.flags
new file mode 100644
index 000000000..f487abc52
--- /dev/null
+++ b/samples/BackupRestore/proguard.flags
@@ -0,0 +1,3 @@
+-keepclassmembers class com.example.android.backuprestore.BackupRestoreActivity {
+ public void onRestoreButtonClick(android.view.View);
+}
diff --git a/samples/BackupRestore/res/layout/backup_restore.xml b/samples/BackupRestore/res/layout/backup_restore.xml
index 1459d4216..9e61b00ce 100644
--- a/samples/BackupRestore/res/layout/backup_restore.xml
+++ b/samples/BackupRestore/res/layout/backup_restore.xml
@@ -16,58 +16,72 @@
<!-- Layout description of the BackupRestore sample's main activity -->
-
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
- <LinearLayout
+ <ScrollView
android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_weight="1">
- <TextView android:text="@string/filling_text"
- android:textSize="20dp"
- android:layout_marginTop="20dp"
- android:layout_marginBottom="10dp"
+ <LinearLayout
+ android:orientation="vertical"
android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
+ android:layout_height="wrap_content">
- <RadioGroup android:id="@+id/filling_group"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginLeft="20dp"
- android:orientation="vertical">
-
- <RadioButton android:id="@+id/bacon"
- android:text="@string/bacon_label"/>
- <RadioButton android:id="@+id/pastrami"
- android:text="@string/pastrami_label"/>
- <RadioButton android:id="@+id/hummus"
- android:text="@string/hummus_label"/>
-
- </RadioGroup>
-
- <TextView android:text="@string/extras_text"
- android:textSize="20dp"
- android:layout_marginTop="20dp"
- android:layout_marginBottom="10dp"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
+ <TextView android:text="@string/filling_text"
+ android:textSize="20dp"
+ android:layout_marginTop="20dp"
+ android:layout_marginBottom="10dp"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
- <CheckBox android:id="@+id/mayo"
- android:text="@string/mayo_text"
- android:layout_marginLeft="20dp"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
+ <RadioGroup android:id="@+id/filling_group"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="20dp"
+ android:orientation="vertical">
- <CheckBox android:id="@+id/tomato"
- android:text="@string/tomato_text"
- android:layout_marginLeft="20dp"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
+ <RadioButton android:id="@+id/bacon"
+ android:text="@string/bacon_label"/>
+ <RadioButton android:id="@+id/pastrami"
+ android:text="@string/pastrami_label"/>
+ <RadioButton android:id="@+id/hummus"
+ android:text="@string/hummus_label"/>
+
+ </RadioGroup>
+
+ <TextView android:text="@string/extras_text"
+ android:textSize="20dp"
+ android:layout_marginTop="20dp"
+ android:layout_marginBottom="10dp"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+
+ <CheckBox android:id="@+id/mayo"
+ android:text="@string/mayo_text"
+ android:layout_marginLeft="20dp"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+
+ <CheckBox android:id="@+id/tomato"
+ android:text="@string/tomato_text"
+ android:layout_marginLeft="20dp"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+
+ </LinearLayout>
+
+ </ScrollView>
- </LinearLayout>
+ <Button android:id="@+id/restore_button"
+ android:text="@string/restore_text"
+ android:onClick="onRestoreButtonClick"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_weight="0" />
-</ScrollView> \ No newline at end of file
+</LinearLayout>
diff --git a/samples/BackupRestore/res/values/strings.xml b/samples/BackupRestore/res/values/strings.xml
index 64cd7a231..b78524353 100644
--- a/samples/BackupRestore/res/values/strings.xml
+++ b/samples/BackupRestore/res/values/strings.xml
@@ -23,4 +23,6 @@
<string name="extras_text">Extras:</string>
<string name="mayo_text">Mayonnaise\?</string>
<string name="tomato_text">Tomato\?</string>
+
+ <string name="restore_text">Restore last data</string>
</resources>
diff --git a/samples/BackupRestore/src/com/example/android/backuprestore/BackupRestoreActivity.java b/samples/BackupRestore/src/com/example/android/backuprestore/BackupRestoreActivity.java
index 01c10ae0d..37c2f36eb 100644
--- a/samples/BackupRestore/src/com/example/android/backuprestore/BackupRestoreActivity.java
+++ b/samples/BackupRestore/src/com/example/android/backuprestore/BackupRestoreActivity.java
@@ -18,8 +18,10 @@ package com.example.android.backuprestore;
import android.app.Activity;
import android.app.backup.BackupManager;
+import android.app.backup.RestoreObserver;
import android.os.Bundle;
import android.util.Log;
+import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioGroup;
@@ -249,4 +251,21 @@ public class BackupRestoreActivity extends Activity {
mBackupManager.dataChanged();
}
-} \ No newline at end of file
+
+ /**
+ * Click handler, designated in the layout, that runs a restore of the app's
+ * most recent data when the button is pressed.
+ */
+ public void onRestoreButtonClick(View v) {
+ Log.v(TAG, "Requesting restore of our most recent data");
+ mBackupManager.requestRestore(
+ new RestoreObserver() {
+ public void restoreFinished(int error) {
+ /** Done with the restore! Now draw the new state of our data */
+ Log.v(TAG, "Restore finished, error = " + error);
+ populateUI();
+ }
+ }
+ );
+ }
+}