1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.content.pm; 18 19 import android.annotation.NonNull; 20 import android.compat.annotation.UnsupportedAppUsage; 21 import android.content.ComponentName; 22 import android.os.Parcel; 23 import android.os.Parcelable; 24 import android.os.UserHandle; 25 26 /** 27 * @hide 28 */ 29 public class LauncherActivityInfoInternal implements Parcelable { 30 @UnsupportedAppUsage 31 @NonNull private ActivityInfo mActivityInfo; 32 @NonNull private ComponentName mComponentName; 33 @NonNull private IncrementalStatesInfo mIncrementalStatesInfo; 34 @NonNull private UserHandle mUser; 35 36 /** 37 * @param info ActivityInfo from which to create the LauncherActivityInfo. 38 * @param incrementalStatesInfo The package's states. 39 * @param user The user the activity info belongs to. 40 */ LauncherActivityInfoInternal(@onNull ActivityInfo info, @NonNull IncrementalStatesInfo incrementalStatesInfo, @NonNull UserHandle user)41 public LauncherActivityInfoInternal(@NonNull ActivityInfo info, 42 @NonNull IncrementalStatesInfo incrementalStatesInfo, 43 @NonNull UserHandle user) { 44 mActivityInfo = info; 45 mComponentName = new ComponentName(info.packageName, info.name); 46 mIncrementalStatesInfo = incrementalStatesInfo; 47 mUser = user; 48 } 49 LauncherActivityInfoInternal(Parcel source)50 public LauncherActivityInfoInternal(Parcel source) { 51 mActivityInfo = source.readTypedObject(ActivityInfo.CREATOR); 52 mComponentName = new ComponentName(mActivityInfo.packageName, mActivityInfo.name); 53 mIncrementalStatesInfo = source.readTypedObject(IncrementalStatesInfo.CREATOR); 54 mUser = source.readTypedObject(UserHandle.CREATOR); 55 } 56 getComponentName()57 public ComponentName getComponentName() { 58 return mComponentName; 59 } 60 getActivityInfo()61 public ActivityInfo getActivityInfo() { 62 return mActivityInfo; 63 } 64 getUser()65 public UserHandle getUser() { 66 return mUser; 67 } 68 getIncrementalStatesInfo()69 public IncrementalStatesInfo getIncrementalStatesInfo() { 70 return mIncrementalStatesInfo; 71 } 72 73 @Override describeContents()74 public int describeContents() { 75 return 0; 76 } 77 78 @Override writeToParcel(Parcel dest, int flags)79 public void writeToParcel(Parcel dest, int flags) { 80 dest.writeTypedObject(mActivityInfo, flags); 81 dest.writeTypedObject(mIncrementalStatesInfo, flags); 82 dest.writeTypedObject(mUser, flags); 83 } 84 85 public static final @android.annotation.NonNull Creator<LauncherActivityInfoInternal> CREATOR = 86 new Creator<LauncherActivityInfoInternal>() { 87 public LauncherActivityInfoInternal createFromParcel(Parcel source) { 88 return new LauncherActivityInfoInternal(source); 89 } 90 public LauncherActivityInfoInternal[] newArray(int size) { 91 return new LauncherActivityInfoInternal[size]; 92 } 93 }; 94 } 95