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