Files
frameworks_base/packages/MtpDocumentsProvider/src/com/android/mtp/MtpRoot.java
Daichi Hirono f83ccbd7ed Drop device name from storage document name.
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
2016-02-04 17:27:52 +09:00

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 + "}";
}
}