When device has multiple storages, storage are shown as directory under the device root. In this case, we would not like to add device name to storage. Note that we still use "device name + storage name" for root name if the device has a single storage because we skip storage directory in this case and shows storage's contents directly under the device. BUG=26625708 Change-Id: Ie13b044e71ae9b5131c4a01ee9d605023d05f168
79 lines
2.5 KiB
Java
79 lines
2.5 KiB
Java
/*
|
|
* 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 com.android.mtp;
|
|
|
|
import android.mtp.MtpStorageInfo;
|
|
|
|
import com.android.internal.annotations.VisibleForTesting;
|
|
|
|
class MtpRoot {
|
|
final int mDeviceId;
|
|
final int mStorageId;
|
|
final String mDescription;
|
|
final long mFreeSpace;
|
|
final long mMaxCapacity;
|
|
final String mVolumeIdentifier;
|
|
|
|
@VisibleForTesting
|
|
MtpRoot(int deviceId,
|
|
int storageId,
|
|
String description,
|
|
long freeSpace,
|
|
long maxCapacity,
|
|
String volumeIdentifier) {
|
|
mDeviceId = deviceId;
|
|
mStorageId = storageId;
|
|
mDescription = description;
|
|
mFreeSpace = freeSpace;
|
|
mMaxCapacity = maxCapacity;
|
|
mVolumeIdentifier = volumeIdentifier;
|
|
}
|
|
|
|
MtpRoot(int deviceId, MtpStorageInfo storageInfo) {
|
|
mDeviceId = deviceId;
|
|
mStorageId = storageInfo.getStorageId();
|
|
mDescription = storageInfo.getDescription();
|
|
mFreeSpace = storageInfo.getFreeSpace();
|
|
mMaxCapacity = storageInfo.getMaxCapacity();
|
|
mVolumeIdentifier = storageInfo.getVolumeIdentifier();
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object object) {
|
|
if (!(object instanceof MtpRoot))
|
|
return false;
|
|
final MtpRoot other = (MtpRoot) object;
|
|
return mDeviceId == other.mDeviceId &&
|
|
mStorageId == other.mStorageId &&
|
|
mDescription.equals(other.mDescription) &&
|
|
mFreeSpace == other.mFreeSpace &&
|
|
mMaxCapacity == other.mMaxCapacity &&
|
|
mVolumeIdentifier.equals(other.mVolumeIdentifier);
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return mDeviceId ^ mStorageId ^ mDescription.hashCode() ^
|
|
((int) mFreeSpace) ^ ((int) mMaxCapacity) ^ mVolumeIdentifier.hashCode();
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "MtpRoot{Name: " + mDescription + "}";
|
|
}
|
|
}
|