/*
 * Copyright (C) 2015 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.os.storage;

Mount service local interface.
@hideOnly for use within the system server.
/** * Mount service local interface. * * @hide Only for use within the system server. */
public abstract class StorageManagerInternal {
Policy that influences how external storage is mounted and reported.
/** * Policy that influences how external storage is mounted and reported. */
public interface ExternalStorageMountPolicy {
Gets the external storage mount mode for the given uid.
Params:
  • uid – The UID for which to determine mount mode.
  • packageName – The package in the UID for making the call.
See Also:
Returns:The mount mode.
/** * Gets the external storage mount mode for the given uid. * * @param uid The UID for which to determine mount mode. * @param packageName The package in the UID for making the call. * @return The mount mode. * * @see com.android.internal.os.Zygote#MOUNT_EXTERNAL_NONE * @see com.android.internal.os.Zygote#MOUNT_EXTERNAL_DEFAULT * @see com.android.internal.os.Zygote#MOUNT_EXTERNAL_READ * @see com.android.internal.os.Zygote#MOUNT_EXTERNAL_WRITE */
public int getMountMode(int uid, String packageName);
Gets whether external storage should be reported to the given UID.
Params:
  • uid – The UID for which to determine whether it has external storage.
  • packageName – The package in the UID for making the call.
Returns:Weather to report external storage.
Returns:True to report the state of external storage, false to report it as unmounted.
/** * Gets whether external storage should be reported to the given UID. * * @param uid The UID for which to determine whether it has external storage. * @param packageName The package in the UID for making the call. * @return Weather to report external storage. * @return True to report the state of external storage, false to * report it as unmounted. */
public boolean hasExternalStorage(int uid, String packageName); }
Adds a policy for determining how external storage is mounted and reported. The mount mode is the most conservative result from querying all registered policies. Similarly, the reported state is the most conservative result from querying all registered policies.
Params:
  • policy – The policy to add.
/** * Adds a policy for determining how external storage is mounted and reported. * The mount mode is the most conservative result from querying all registered * policies. Similarly, the reported state is the most conservative result from * querying all registered policies. * * @param policy The policy to add. */
public abstract void addExternalStoragePolicy(ExternalStorageMountPolicy policy);
Notify the mount service that the mount policy for a UID changed.
Params:
  • uid – The UID for which policy changed.
  • packageName – The package in the UID for making the call.
/** * Notify the mount service that the mount policy for a UID changed. * @param uid The UID for which policy changed. * @param packageName The package in the UID for making the call. */
public abstract void onExternalStoragePolicyChanged(int uid, String packageName);
Gets the mount mode to use for a given UID as determined by consultin all policies.
Params:
  • uid – The UID for which to get mount mode.
  • packageName – The package in the UID for making the call.
Returns:The mount mode.
/** * Gets the mount mode to use for a given UID as determined by consultin all * policies. * * @param uid The UID for which to get mount mode. * @param packageName The package in the UID for making the call. * @return The mount mode. */
public abstract int getExternalStorageMountMode(int uid, String packageName); }