1a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot/* 2a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * Copyright (C) 2010 The Android Open Source Project 3a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * 4a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * Licensed under the Apache License, Version 2.0 (the "License"); 5a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * you may not use this file except in compliance with the License. 6a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * You may obtain a copy of the License at 7a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * 8a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * http://www.apache.org/licenses/LICENSE-2.0 9a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * 10a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * Unless required by applicable law or agreed to in writing, software 11a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * distributed under the License is distributed on an "AS IS" BASIS, 12a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * See the License for the specific language governing permissions and 14a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot * limitations under the License. 15a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot */ 16a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot 17a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabotpackage android.os.storage; 18a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot 19a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabotimport android.util.Log; 20a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot 21a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabotpublic class StorageListener extends StorageEventListener { 22a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot private static final boolean localLOGV = true; 23a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot 24d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root public static final String TAG = "StorageListener"; 25a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot 26d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root private String mTargetState; 27a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot private boolean doneFlag = false; 28d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root 29d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root public StorageListener(String targetState) { 30d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root mTargetState = targetState; 31d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root } 32d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root 33a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot @Override 34a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot public void onStorageStateChanged(String path, String oldState, String newState) { 35a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot if (localLOGV) Log.i(TAG, "Storage state changed from " + oldState + " to " + newState); 36d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root 37a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot synchronized (this) { 38d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root if (mTargetState.equals(newState)) { 39d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root doneFlag = true; 40d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root notifyAll(); 41d7b421b4de68d803252a5d9b3cb0106731217ad7Kenny Root } 42a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot } 43a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot } 44a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot 45a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot public boolean isDone() { 46a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot return doneFlag; 47a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot } 48a3de74555120cc4dc205a3f93ef44c843b8d64a8Brett Chabot} 49