105105f7abe02b2dff91d6260b3628c8b97816babKenny Root/* 205105f7abe02b2dff91d6260b3628c8b97816babKenny Root * Copyright (C) 2010 The Android Open Source Project 305105f7abe02b2dff91d6260b3628c8b97816babKenny Root * 405105f7abe02b2dff91d6260b3628c8b97816babKenny Root * Licensed under the Apache License, Version 2.0 (the "License"); 505105f7abe02b2dff91d6260b3628c8b97816babKenny Root * you may not use this file except in compliance with the License. 605105f7abe02b2dff91d6260b3628c8b97816babKenny Root * You may obtain a copy of the License at 705105f7abe02b2dff91d6260b3628c8b97816babKenny Root * 805105f7abe02b2dff91d6260b3628c8b97816babKenny Root * http://www.apache.org/licenses/LICENSE-2.0 905105f7abe02b2dff91d6260b3628c8b97816babKenny Root * 1005105f7abe02b2dff91d6260b3628c8b97816babKenny Root * Unless required by applicable law or agreed to in writing, software 1105105f7abe02b2dff91d6260b3628c8b97816babKenny Root * distributed under the License is distributed on an "AS IS" BASIS, 1205105f7abe02b2dff91d6260b3628c8b97816babKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1305105f7abe02b2dff91d6260b3628c8b97816babKenny Root * See the License for the specific language governing permissions and 1405105f7abe02b2dff91d6260b3628c8b97816babKenny Root * limitations under the License. 1505105f7abe02b2dff91d6260b3628c8b97816babKenny Root */ 1605105f7abe02b2dff91d6260b3628c8b97816babKenny Root 1705105f7abe02b2dff91d6260b3628c8b97816babKenny Rootpackage android.os.storage; 1805105f7abe02b2dff91d6260b3628c8b97816babKenny Root 1905105f7abe02b2dff91d6260b3628c8b97816babKenny Root/** 20af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * Used for receiving notifications from {@link StorageManager} about OBB file 21af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * states. 2205105f7abe02b2dff91d6260b3628c8b97816babKenny Root */ 2305105f7abe02b2dff91d6260b3628c8b97816babKenny Rootpublic abstract class OnObbStateChangeListener { 24af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root 25af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root /** 26af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * The OBB container is now mounted and ready for use. Returned in status 27af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * messages from calls made via {@link StorageManager} 28af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root */ 29af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root public static final int MOUNTED = 1; 30af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root 31af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root /** 32af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * The OBB container is now unmounted and not usable. Returned in status 33af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * messages from calls made via {@link StorageManager} 34af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root */ 35af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root public static final int UNMOUNTED = 2; 36af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root 37af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root /** 38af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * There was an internal system error encountered while trying to mount the 39af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * OBB. Returned in status messages from calls made via 40af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * {@link StorageManager} 41af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root */ 42af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root public static final int ERROR_INTERNAL = 20; 43af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root 44af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root /** 45af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * The OBB could not be mounted by the system. Returned in status messages 46af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * from calls made via {@link StorageManager} 47af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root */ 48af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root public static final int ERROR_COULD_NOT_MOUNT = 21; 49af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root 50af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root /** 51af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * The OBB could not be unmounted. This most likely indicates that a file is 52af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * in use on the OBB. Returned in status messages from calls made via 53af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * {@link StorageManager} 54af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root */ 55af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root public static final int ERROR_COULD_NOT_UNMOUNT = 22; 56af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root 57af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root /** 58af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * A call was made to unmount the OBB when it was not mounted. Returned in 59af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * status messages from calls made via {@link StorageManager} 60af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root */ 61af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root public static final int ERROR_NOT_MOUNTED = 23; 62af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root 63af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root /** 64af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * The OBB has already been mounted. Returned in status messages from calls 65af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * made via {@link StorageManager} 66af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root */ 67af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root public static final int ERROR_ALREADY_MOUNTED = 24; 68af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root 69af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root /** 7019dcd2aeba184f81b140b4fbc692bdd80a51299eKenny Root * The current application does not have permission to use this OBB. This 7119dcd2aeba184f81b140b4fbc692bdd80a51299eKenny Root * could be because the OBB indicates it's owned by a different package or 7219dcd2aeba184f81b140b4fbc692bdd80a51299eKenny Root * some other error. Returned in status messages from calls made via 73af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root * {@link StorageManager} 74af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root */ 75af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root public static final int ERROR_PERMISSION_DENIED = 25; 76af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root 7705105f7abe02b2dff91d6260b3628c8b97816babKenny Root /** 7805105f7abe02b2dff91d6260b3628c8b97816babKenny Root * Called when an OBB has changed states. 7905105f7abe02b2dff91d6260b3628c8b97816babKenny Root * 8005105f7abe02b2dff91d6260b3628c8b97816babKenny Root * @param path path to the OBB file the state change has happened on 8105105f7abe02b2dff91d6260b3628c8b97816babKenny Root * @param state the current state of the OBB 8205105f7abe02b2dff91d6260b3628c8b97816babKenny Root */ 83af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root public void onObbStateChange(String path, int state) { 8405105f7abe02b2dff91d6260b3628c8b97816babKenny Root } 8505105f7abe02b2dff91d6260b3628c8b97816babKenny Root} 86