summaryrefslogtreecommitdiff
path: root/core/java/android/backup/FileBackupHelperBase.java
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2010-03-05 15:46:30 -0800
committerChristopher Tate <ctate@google.com>2010-03-05 16:27:15 -0800
commit4528186e0d65fc68ef0dd1941aa2ac8aefcd55a3 (patch)
tree3f1276aef1448aad75a0d44ad1abbbd1478a4937 /core/java/android/backup/FileBackupHelperBase.java
parent931bf89d327ecf07301231fd86b17deac535feaa (diff)
Refactor android.backup => android.app.backup
Change-Id: I0b21316ff890d7f3c7d4b82837bb60670724c2e8
Diffstat (limited to 'core/java/android/backup/FileBackupHelperBase.java')
-rw-r--r--core/java/android/backup/FileBackupHelperBase.java127
1 files changed, 0 insertions, 127 deletions
diff --git a/core/java/android/backup/FileBackupHelperBase.java b/core/java/android/backup/FileBackupHelperBase.java
deleted file mode 100644
index 7cb1ccca58ae..000000000000
--- a/core/java/android/backup/FileBackupHelperBase.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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 android.backup;
-
-import android.content.Context;
-import android.os.ParcelFileDescriptor;
-import android.util.Log;
-
-import java.io.File;
-import java.io.FileDescriptor;
-
-/**
- * Base class for the {@link android.backup.FileBackupHelper} implementation.
- */
-class FileBackupHelperBase {
- private static final String TAG = "FileBackupHelperBase";
-
- int mPtr;
- Context mContext;
- boolean mExceptionLogged;
-
- FileBackupHelperBase(Context context) {
- mPtr = ctor();
- mContext = context;
- }
-
- protected void finalize() throws Throwable {
- try {
- dtor(mPtr);
- } finally {
- super.finalize();
- }
- }
-
- /**
- * Check the parameters so the native code doesn't have to throw all the exceptions
- * since it's easier to do that from Java.
- */
- static void performBackup_checked(ParcelFileDescriptor oldState, BackupDataOutput data,
- ParcelFileDescriptor newState, String[] files, String[] keys) {
- if (files.length == 0) {
- return;
- }
- // files must be all absolute paths
- for (String f: files) {
- if (f.charAt(0) != '/') {
- throw new RuntimeException("files must have all absolute paths: " + f);
- }
- }
- // the length of files and keys must be the same
- if (files.length != keys.length) {
- throw new RuntimeException("files.length=" + files.length
- + " keys.length=" + keys.length);
- }
- // oldStateFd can be null
- FileDescriptor oldStateFd = oldState != null ? oldState.getFileDescriptor() : null;
- FileDescriptor newStateFd = newState.getFileDescriptor();
- if (newStateFd == null) {
- throw new NullPointerException();
- }
-
- int err = performBackup_native(oldStateFd, data.mBackupWriter, newStateFd, files, keys);
-
- if (err != 0) {
- // TODO: more here
- throw new RuntimeException("Backup failed 0x" + Integer.toHexString(err));
- }
- }
-
- void writeFile(File f, BackupDataInputStream in) {
- int result = -1;
-
- // Create the enclosing directory.
- File parent = f.getParentFile();
- parent.mkdirs();
-
- result = writeFile_native(mPtr, f.getAbsolutePath(), in.mData.mBackupReader);
- if (result != 0) {
- // Bail on this entity. Only log one failure per helper object.
- if (!mExceptionLogged) {
- Log.e(TAG, "Failed restoring file '" + f + "' for app '"
- + mContext.getPackageName() + "\' result=0x"
- + Integer.toHexString(result));
- mExceptionLogged = true;
- }
- }
- }
-
- public void writeNewStateDescription(ParcelFileDescriptor fd) {
- int result = writeSnapshot_native(mPtr, fd.getFileDescriptor());
- // TODO: Do something with the error.
- }
-
- boolean isKeyInList(String key, String[] list) {
- for (String s: list) {
- if (s.equals(key)) {
- return true;
- }
- }
- return false;
- }
-
- private static native int ctor();
- private static native void dtor(int ptr);
-
- native private static int performBackup_native(FileDescriptor oldState,
- int data, FileDescriptor newState, String[] files, String[] keys);
-
- private static native int writeFile_native(int ptr, String filename, int backupReader);
- private static native int writeSnapshot_native(int ptr, FileDescriptor fd);
-}
-
-