use of android.os.storage.DiskInfo in project android_frameworks_base by AOSPA.
the class StorageNotification method onVolumeEjecting.
private Notification onVolumeEjecting(VolumeInfo vol) {
final DiskInfo disk = vol.getDisk();
final CharSequence title = mContext.getString(R.string.ext_media_unmounting_notification_title, disk.getDescription());
final CharSequence text = mContext.getString(R.string.ext_media_unmounting_notification_message, disk.getDescription());
return buildNotificationBuilder(vol, title, text).setCategory(Notification.CATEGORY_PROGRESS).setPriority(Notification.PRIORITY_LOW).setOngoing(true).build();
}
use of android.os.storage.DiskInfo in project android_frameworks_base by AOSPA.
the class StorageNotification method onVolumeMounted.
private Notification onVolumeMounted(VolumeInfo vol) {
final VolumeRecord rec = mStorageManager.findRecordByUuid(vol.getFsUuid());
final DiskInfo disk = vol.getDisk();
// used to allow snoozing non-adoptable disks too.)
if (rec.isSnoozed() && disk.isAdoptable()) {
return null;
}
if (disk.isAdoptable() && !rec.isInited()) {
final CharSequence title = disk.getDescription();
final CharSequence text = mContext.getString(R.string.ext_media_new_notification_message, disk.getDescription());
final PendingIntent initIntent = buildInitPendingIntent(vol);
return buildNotificationBuilder(vol, title, text).addAction(new Action(R.drawable.ic_settings_24dp, mContext.getString(R.string.ext_media_init_action), initIntent)).addAction(new Action(R.drawable.ic_eject_24dp, mContext.getString(R.string.ext_media_unmount_action), buildUnmountPendingIntent(vol))).setContentIntent(initIntent).setDeleteIntent(buildSnoozeIntent(vol.getFsUuid())).setCategory(Notification.CATEGORY_SYSTEM).build();
} else {
final CharSequence title = disk.getDescription();
final CharSequence text = mContext.getString(R.string.ext_media_ready_notification_message, disk.getDescription());
final PendingIntent browseIntent = buildBrowsePendingIntent(vol);
final Notification.Builder builder = buildNotificationBuilder(vol, title, text).addAction(new Action(R.drawable.ic_folder_24dp, mContext.getString(R.string.ext_media_browse_action), browseIntent)).addAction(new Action(R.drawable.ic_eject_24dp, mContext.getString(R.string.ext_media_unmount_action), buildUnmountPendingIntent(vol))).setContentIntent(browseIntent).setCategory(Notification.CATEGORY_SYSTEM).setPriority(Notification.PRIORITY_LOW);
// Non-adoptable disks can't be snoozed.
if (disk.isAdoptable()) {
builder.setDeleteIntent(buildSnoozeIntent(vol.getFsUuid()));
}
return builder.build();
}
}
use of android.os.storage.DiskInfo in project android_frameworks_base by AOSPA.
the class StorageNotification method onVolumeRemoved.
private Notification onVolumeRemoved(VolumeInfo vol) {
if (!vol.isPrimary()) {
// Ignore non-primary media
return null;
}
final DiskInfo disk = vol.getDisk();
final CharSequence title = mContext.getString(R.string.ext_media_nomedia_notification_title, disk.getDescription());
final CharSequence text = mContext.getString(R.string.ext_media_nomedia_notification_message, disk.getDescription());
return buildNotificationBuilder(vol, title, text).setCategory(Notification.CATEGORY_ERROR).build();
}
use of android.os.storage.DiskInfo in project android_frameworks_base by AOSPA.
the class StorageNotification method onVolumeBadRemoval.
private Notification onVolumeBadRemoval(VolumeInfo vol) {
if (!vol.isPrimary()) {
// Ignore non-primary media
return null;
}
final DiskInfo disk = vol.getDisk();
final CharSequence title = mContext.getString(R.string.ext_media_badremoval_notification_title, disk.getDescription());
final CharSequence text = mContext.getString(R.string.ext_media_badremoval_notification_message, disk.getDescription());
return buildNotificationBuilder(vol, title, text).setCategory(Notification.CATEGORY_ERROR).build();
}
use of android.os.storage.DiskInfo in project android_frameworks_base by ResurrectionRemix.
the class MountService method dump.
@Override
protected void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG);
final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " ", 160);
synchronized (mLock) {
pw.println("Disks:");
pw.increaseIndent();
for (int i = 0; i < mDisks.size(); i++) {
final DiskInfo disk = mDisks.valueAt(i);
disk.dump(pw);
}
pw.decreaseIndent();
pw.println();
pw.println("Volumes:");
pw.increaseIndent();
for (int i = 0; i < mVolumes.size(); i++) {
final VolumeInfo vol = mVolumes.valueAt(i);
if (VolumeInfo.ID_PRIVATE_INTERNAL.equals(vol.id))
continue;
vol.dump(pw);
}
pw.decreaseIndent();
pw.println();
pw.println("Records:");
pw.increaseIndent();
for (int i = 0; i < mRecords.size(); i++) {
final VolumeRecord note = mRecords.valueAt(i);
note.dump(pw);
}
pw.decreaseIndent();
pw.println();
pw.println("Primary storage UUID: " + mPrimaryStorageUuid);
final Pair<String, Long> pair = StorageManager.getPrimaryStoragePathAndSize();
if (pair == null) {
pw.println("Internal storage total size: N/A");
} else {
pw.print("Internal storage (");
pw.print(pair.first);
pw.print(") total size: ");
pw.print(pair.second);
pw.print(" (");
pw.print((float) pair.second / TrafficStats.GB_IN_BYTES);
pw.println(" GB)");
}
pw.println("Force adoptable: " + mForceAdoptable);
pw.println();
pw.println("Local unlocked users: " + Arrays.toString(mLocalUnlockedUsers));
pw.println("System unlocked users: " + Arrays.toString(mSystemUnlockedUsers));
}
synchronized (mObbMounts) {
pw.println();
pw.println("mObbMounts:");
pw.increaseIndent();
final Iterator<Entry<IBinder, List<ObbState>>> binders = mObbMounts.entrySet().iterator();
while (binders.hasNext()) {
Entry<IBinder, List<ObbState>> e = binders.next();
pw.println(e.getKey() + ":");
pw.increaseIndent();
final List<ObbState> obbStates = e.getValue();
for (final ObbState obbState : obbStates) {
pw.println(obbState);
}
pw.decreaseIndent();
}
pw.decreaseIndent();
pw.println();
pw.println("mObbPathToStateMap:");
pw.increaseIndent();
final Iterator<Entry<String, ObbState>> maps = mObbPathToStateMap.entrySet().iterator();
while (maps.hasNext()) {
final Entry<String, ObbState> e = maps.next();
pw.print(e.getKey());
pw.print(" -> ");
pw.println(e.getValue());
}
pw.decreaseIndent();
}
pw.println();
pw.println("mConnector:");
pw.increaseIndent();
mConnector.dump(fd, pw, args);
pw.decreaseIndent();
pw.println();
pw.println("mCryptConnector:");
pw.increaseIndent();
mCryptConnector.dump(fd, pw, args);
pw.decreaseIndent();
pw.println();
pw.print("Last maintenance: ");
pw.println(TimeUtils.formatForLogging(mLastMaintenance));
}
Aggregations