From c73a218c2663e6ae3ec8a9ab8b9524f95702ade9 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Fri, 26 Jun 2009 11:41:26 -0700 Subject: Add some error reporting & info to bmgr's output --- cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'cmds/bmgr') diff --git a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java index 01083f1608a..68caa26607c 100644 --- a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java +++ b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java @@ -171,9 +171,7 @@ public final class Bmgr { if (sets == null || sets.length == 0) { System.out.println("No restore sets available"); } else { - for (RestoreSet s : sets) { - System.out.println(" " + s.token + " : " + s.name); - } + printRestoreSets(sets); } } catch (RemoteException e) { System.err.println(e.toString()); @@ -181,6 +179,12 @@ public final class Bmgr { } } + private void printRestoreSets(RestoreSet[] sets) { + for (RestoreSet s : sets) { + System.out.println(" " + s.token + " : " + s.name); + } + } + class RestoreObserver extends IRestoreObserver.Stub { boolean done; public void restoreStarting(int numPackages) { @@ -212,6 +216,7 @@ public final class Bmgr { RestoreObserver observer = new RestoreObserver(); try { + boolean didRestore = false; int curTransport = mBmgr.getCurrentTransport(); mRestore = mBmgr.beginRestoreSession(curTransport); if (mRestore == null) { @@ -223,9 +228,18 @@ public final class Bmgr { if (s.token == token) { System.out.println("Scheduling restore: " + s.name); mRestore.performRestore(token, observer); + didRestore = true; break; } } + if (!didRestore) { + if (sets == null || sets.length == 0) { + System.out.println("No available restore sets; no restore performed"); + } else { + System.out.println("No matching restore set token. Available sets:"); + printRestoreSets(sets); + } + } mRestore.endRestoreSession(); } catch (RemoteException e) { System.err.println(e.toString()); -- cgit v1.2.3