得物.apk(点击下载) / AbstractAuthParams.java


package com.huawei.hms.support.feature.request;

import android.os.Parcel;
import android.os.Parcelable;
import com.huawei.hms.api.Api;
import com.huawei.hms.support.api.entity.auth.PermissionInfo;
import com.huawei.hms.support.api.entity.auth.Scope;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public abstract class AbstractAuthParams implements Parcelable, Api.ApiOptions.HasOptions {
    public static final Scope EMAIL = new Scope("email");
    public static final Scope OPENID = new Scope("openid");
    public static final Scope PROFILE = new Scope("profile");
    public static final Scope SCOPE_GAMES = new Scope("https://www.huawei.com/auth/games");
    public static final PermissionInfo UID_DYNAMIC_PERMISSION = new PermissionInfo().setPermissionUri("com.huawei.android.hms.account.getUID");
    public ArrayList<PermissionInfo> permissionArrayList;
    public final ArrayList<Scope> scopeArrayList;

    public AbstractAuthParams(Set<Scope> set, Set<PermissionInfo> set2) {
        this(new ArrayList(set), new ArrayList(set2));
    }

    public static PermissionInfo jsonToPermission(JSONObject jSONObject) {
        return new PermissionInfo().setPermissionUri(jSONObject.optString("permission", null));
    }

    public static Scope jsonToScope(JSONObject jSONObject) {
        return new Scope(jSONObject.optString("mScopeUri", null));
    }

    public int describeContents() {
        return 0;
    }

    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (!(obj instanceof AbstractAuthParams)) {
            return false;
        }
        AbstractAuthParams abstractAuthParams = (AbstractAuthParams) obj;
        if (!isListEquals(this.scopeArrayList, abstractAuthParams.scopeArrayList) || !isListEquals(this.permissionArrayList, abstractAuthParams.permissionArrayList)) {
            return false;
        }
        return true;
    }

    public List<PermissionInfo> getPermissionInfos() {
        return this.permissionArrayList;
    }

    public List<Scope> getRequestScopeList() {
        return this.scopeArrayList;
    }

    public Scope[] getScopeArray() {
        ArrayList<Scope> arrayList = this.scopeArrayList;
        return (Scope[]) arrayList.toArray(new Scope[arrayList.size()]);
    }

    public int hashCode() {
        ArrayList<Scope> arrayList = this.scopeArrayList;
        int i = 0;
        int hashCode = ((arrayList == null ? 0 : arrayList.hashCode()) + 31) * 31;
        ArrayList<PermissionInfo> arrayList2 = this.permissionArrayList;
        if (arrayList2 != null) {
            i = arrayList2.hashCode();
        }
        return hashCode + i;
    }

    public <T> boolean isListEquals(ArrayList<T> arrayList, ArrayList<T> arrayList2) {
        if (arrayList == arrayList2) {
            return true;
        }
        if (arrayList.size() != arrayList2.size()) {
            return false;
        }
        return arrayList.containsAll(arrayList2);
    }

    public JSONObject permissionToJson(PermissionInfo permissionInfo) throws JSONException {
        JSONObject jSONObject = new JSONObject();
        if (permissionInfo.getPermission() != null) {
            jSONObject.put("permission", permissionInfo.getPermission());
        }
        return jSONObject;
    }

    public JSONObject scopeToJson(Scope scope) throws JSONException {
        JSONObject jSONObject = new JSONObject();
        if (scope.getScopeUri() != null) {
            jSONObject.put("mScopeUri", scope.getScopeUri());
        }
        return jSONObject;
    }

    public String toJson() throws JSONException {
        return toJsonObject().toString();
    }

    public JSONObject toJsonObject() throws JSONException {
        JSONObject jSONObject = new JSONObject();
        if (this.scopeArrayList != null) {
            JSONArray jSONArray = new JSONArray();
            Iterator<Scope> it2 = this.scopeArrayList.iterator();
            while (it2.hasNext()) {
                jSONArray.put(scopeToJson(it2.next()));
            }
            jSONObject.put("scopeArrayList", jSONArray);
        }
        if (this.permissionArrayList != null) {
            JSONArray jSONArray2 = new JSONArray();
            Iterator<PermissionInfo> it3 = this.permissionArrayList.iterator();
            while (it3.hasNext()) {
                jSONArray2.put(permissionToJson(it3.next()));
            }
            jSONObject.put("permissionArrayList", jSONArray2);
        }
        return jSONObject;
    }

    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeList(this.scopeArrayList);
        parcel.writeList(this.permissionArrayList);
    }

    public AbstractAuthParams(ArrayList<Scope> arrayList, ArrayList<PermissionInfo> arrayList2) {
        this.scopeArrayList = arrayList;
        this.permissionArrayList = arrayList2;
    }
}