17767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn/* 27767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * Copyright (C) 2012 The Android Open Source Project 37767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * 47767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License"); 57767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * you may not use this file except in compliance with the License. 67767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * You may obtain a copy of the License at 77767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * 87767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * http://www.apache.org/licenses/LICENSE-2.0 97767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * 107767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * Unless required by applicable law or agreed to in writing, software 117767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS, 127767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * See the License for the specific language governing permissions and 147767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * limitations under the License. 157767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn */ 167767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 177767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackbornpackage android.content.pm; 187767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 197767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackbornimport android.os.Parcel; 207767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackbornimport android.os.Parcelable; 217767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 227767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn/** @hide */ 2344e440cc7e834de7811f005998acb32716835b00Neil Fullerpublic class PackageCleanItem implements Parcelable { 24752cd922f7091dfd5401faf70dc248934a9dbb6dJeff Sharkey public final int userId; 257767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public final String packageName; 267767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public final boolean andCode; 277767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 28752cd922f7091dfd5401faf70dc248934a9dbb6dJeff Sharkey public PackageCleanItem(int userId, String packageName, boolean andCode) { 29752cd922f7091dfd5401faf70dc248934a9dbb6dJeff Sharkey this.userId = userId; 307767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn this.packageName = packageName; 317767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn this.andCode = andCode; 327767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 337767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 347767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn @Override 357767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public boolean equals(Object obj) { 367767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn if (this == obj) { 377767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn return true; 387767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 397767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn try { 407767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn if (obj != null) { 417767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn PackageCleanItem other = (PackageCleanItem)obj; 42752cd922f7091dfd5401faf70dc248934a9dbb6dJeff Sharkey return userId == other.userId && packageName.equals(other.packageName) 43752cd922f7091dfd5401faf70dc248934a9dbb6dJeff Sharkey && andCode == other.andCode; 447767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 457767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } catch (ClassCastException e) { 467767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 477767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn return false; 487767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 497767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 507767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn @Override 517767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public int hashCode() { 527767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn int result = 17; 53752cd922f7091dfd5401faf70dc248934a9dbb6dJeff Sharkey result = 31 * result + userId; 547767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn result = 31 * result + packageName.hashCode(); 557767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn result = 31 * result + (andCode ? 1 : 0); 567767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn return result; 577767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 587767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 597767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public int describeContents() { 607767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn return 0; 617767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 627767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 637767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public void writeToParcel(Parcel dest, int parcelableFlags) { 64752cd922f7091dfd5401faf70dc248934a9dbb6dJeff Sharkey dest.writeInt(userId); 657767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn dest.writeString(packageName); 667767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn dest.writeInt(andCode ? 1 : 0); 677767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 687767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 697767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public static final Parcelable.Creator<PackageCleanItem> CREATOR 707767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn = new Parcelable.Creator<PackageCleanItem>() { 717767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public PackageCleanItem createFromParcel(Parcel source) { 727767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn return new PackageCleanItem(source); 737767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 747767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 757767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public PackageCleanItem[] newArray(int size) { 767767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn return new PackageCleanItem[size]; 777767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 787767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn }; 797767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 807767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn private PackageCleanItem(Parcel source) { 81752cd922f7091dfd5401faf70dc248934a9dbb6dJeff Sharkey userId = source.readInt(); 827767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn packageName = source.readString(); 837767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn andCode = source.readInt() != 0; 847767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 857767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn} 86