Merge change 1040 into donut

* changes:
  Add a test app for the backup
This commit is contained in:
Android (Google) Code Review
2009-05-05 18:58:05 -07:00
5 changed files with 165 additions and 1 deletions

View File

@@ -39,7 +39,7 @@ import android.util.Log;
* <!-- Use the class "MyBackupService" to perform backups for my app -->
* <service android:name=".MyBackupService">
* <intent-filter>
* <action android:name="android.service.action.BACKUP">
* <action android:name="android.service.action.BACKUP" />
* </intent-filter>
* &lt;/service&gt;</pre>
*

View File

@@ -13,6 +13,9 @@
# limitations under the License.
LOCAL_PATH := $(call my-dir)
# native test
# ========================================
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
@@ -24,3 +27,15 @@ LOCAL_SHARED_LIBRARIES := libutils
include $(BUILD_EXECUTABLE)
# java test
# ========================================
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := BackupTest
include $(BUILD_PACKAGE)

View File

@@ -0,0 +1,17 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.backuptest">
<application>
<activity android:name="BackupTestActivity" android:label="_BackupTest">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="BackupTestService">
<intent-filter>
<action android:name="android.backup.BackupService" />
</intent-filter>
</service>
</application>
</manifest>

View File

@@ -0,0 +1,93 @@
/*
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.backuptest;
import android.app.ListActivity;
import android.backup.BackupManager;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.PowerManager;
import android.os.SystemClock;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class BackupTestActivity extends ListActivity
{
static final String TAG = "BackupTestActivity";
static final String PREF_GROUP_SETTINGS = "settings";
static final String PREF_KEY = "pref";
Test[] mTests = new Test[] {
new Test("Show Shared Pref") {
void run() {
SharedPreferences prefs = getSharedPreferences(PREF_GROUP_SETTINGS, MODE_PRIVATE);
int val = prefs.getInt(PREF_KEY, 0);
String str = "'" + PREF_KEY + "' is " + val;
Log.d(TAG, str);
Toast.makeText(BackupTestActivity.this, str, Toast.LENGTH_SHORT).show();
}
},
new Test("Increment Shared Pref") {
void run() {
SharedPreferences prefs = getSharedPreferences(PREF_GROUP_SETTINGS, MODE_PRIVATE);
int val = prefs.getInt(PREF_KEY, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(PREF_KEY, val+1);
editor.commit();
BackupManager bm = new BackupManager(BackupTestActivity.this);
bm.dataChanged();
}
}
};
abstract class Test {
String name;
Test(String n) {
name = n;
}
abstract void run();
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
String[] labels = new String[mTests.length];
for (int i=0; i<mTests.length; i++) {
labels[i] = mTests[i].name;
}
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, labels));
}
@Override
public void onListItemClick(ListView l, View v, int position, long id)
{
Test t = mTests[position];
Log.d(TAG, "Test: " + t.name);
t.run();
}
}

View File

@@ -0,0 +1,39 @@
/*
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.example.android.apis.app;
import android.backup.BackupService;
import android.os.ParcelFileDescriptor;
import android.util.Log;
public class BackupTestService extends BackupService
{
static final String TAG = "BackupTestService";
@Override
public void onBackup(ParcelFileDescriptor oldState,
ParcelFileDescriptor data,
ParcelFileDescriptor newState) {
Log.d(TAG, "onBackup");
}
@Override
public void onRestore(ParcelFileDescriptor data, ParcelFileDescriptor newState) {
Log.d(TAG, "onRestore");
}
}