package com.dropbox.core.android; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.Signature; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.os.Parcel; import android.util.Base64; import com.facebook.appevents.AppEventsConstants; import java.util.List; public class DbxOfficialAppConnector { public static final String ACTION_DBXC_EDIT = "com.dropbox.android.intent.action.DBXC_EDIT"; public static final String ACTION_DBXC_VIEW = "com.dropbox.android.intent.action.DBXC_VIEW"; public static final String ACTION_SHOW_DROPBOX_PREVIEW = "com.dropbox.android.intent.action.SHOW_PREVIEW"; public static final String ACTION_SHOW_UPGRADE = "com.dropbox.android.intent.action.SHOW_UPGRADE"; private static final int CORRECT_USER = 1; private static final String[] DROPBOX_APP_SIGNATURES = {"308202223082018b02044bd207bd300d06092a864886f70d01010405003058310b3009060355040613025553310b3009060355040813024341311630140603550407130d53616e204672616e636973636f3110300e060355040a130744726f70626f783112301006035504031309546f6d204d65796572301e170d3130303432333230343930315a170d3430303431353230343930315a3058310b3009060355040613025553310b3009060355040813024341311630140603550407130d53616e204672616e636973636f3110300e060355040a130744726f70626f783112301006035504031309546f6d204d6579657230819f300d06092a864886f70d010101050003818d0030818902818100ac1595d0ab278a9577f0ca5a14144f96eccde75f5616f36172c562fab0e98c48ad7d64f1091c6cc11ce084a4313d522f899378d312e112a748827545146a779defa7c31d8c00c2ed73135802f6952f59798579859e0214d4e9c0554b53b26032a4d2dfc2f62540d776df2ea70e2a6152945fb53fef5bac5344251595b729d4810203010001300d06092a864886f70d01010405000381810055c425d94d036153203dc0bbeb3516f94563b102fff39c3d4ed91278db24fc4424a244c2e59f03bbfea59404512b8bf74662f2a32e37eafa2ac904c31f99cfc21c9ff375c977c432d3b6ec22776f28767d0f292144884538c3d5669b568e4254e4ed75d9054f75229ac9d4ccd0b7c3c74a34f07b7657083b2aa76225c0c56ffc", "308201e53082014ea00302010202044e17e115300d06092a864886f70d01010505003037310b30090603550406130255533110300e060355040a1307416e64726f6964311630140603550403130d416e64726f6964204465627567301e170d3131303730393035303331375a170d3431303730313035303331375a3037310b30090603550406130255533110300e060355040a1307416e64726f6964311630140603550403130d416e64726f696420446562756730819f300d06092a864886f70d010101050003818d003081890281810096759fe5abea6a0757039b92adc68d672efa84732c3f959408e12efa264545c61f23141026a6d01eceeeaa13ec7087087e5894a3363da8bf5c69ed93657a6890738a80998e4ca22dc94848f30e2d0e1890000ae2cddf543b20c0c3828deca6c7944b5ecd21a9d18c988b2b3e54517dafbc34b48e801bb1321e0fa49e4d575d7f0203010001300d06092a864886f70d0101050500038181002b6d4b65bcfa6ec7bac97ae6d878064d47b3f9f8da654995b8ef4c385bc4fbfbb7a987f60783ef0348760c0708acd4b7e63f0235c35a4fbcd5ec41b3b4cb295feaa7d5c27fa562a02562b7e1f4776b85147be3e295714986c4a9a07183f48ea09ae4d3ea31b88d0016c65b93526b9c45f2967c3d28dee1aff5a5b29b9c2c8639"}; public static final String EXTRA_CALLING_PACKAGE = "com.dropbox.android.intent.extra.CALLING_PACKAGE"; public static final String EXTRA_DROPBOX_PATH = "com.dropbox.android.intent.extra.DROPBOX_PATH"; public static final String EXTRA_DROPBOX_READ_ONLY = "com.dropbox.android.intent.extra.READ_ONLY"; public static final String EXTRA_DROPBOX_REV = "com.dropbox.android.intent.extra.DROPBOX_REV"; public static final String EXTRA_DROPBOX_SESSION_ID = "com.dropbox.android.intent.extra.SESSION_ID"; public static final String EXTRA_DROPBOX_UID = "com.dropbox.android.intent.extra.DROPBOX_UID"; private static final Uri LOGGED_IN_URI = Uri.parse("content://com.dropbox.android.provider.SDK/is_user_logged_in/"); private static final int MIN_OPENWITH_VERSION = 240607; private static final int NO_USER = 0; private static final int WRONG_USER = -1; protected String uid = null; public static class DbxOfficialAppInstallInfo { public final boolean supportsOpenWith; public final int versionCode; public DbxOfficialAppInstallInfo(boolean z10, int i10) { this.supportsOpenWith = z10; this.versionCode = i10; } public String toString() { return String.format("DbxOfficialAppInstallInfo(versionCode=%s, supportsOpenWith=%s)", Integer.valueOf(this.versionCode), Boolean.valueOf(this.supportsOpenWith)); } } public DbxOfficialAppConnector(String str) throws DropboxUidNotInitializedException { if (str == null || str.length() == 0) { throw new DropboxUidNotInitializedException("Must initialize session's uid before constructing DbxOfficialAppConnector"); } this.uid = str; } public static Intent generateOpenWithIntentFromUtmContent(String str) throws DropboxParseException { try { byte[] decode = Base64.decode(str, 0); Parcel obtain = Parcel.obtain(); obtain.unmarshall(decode, 0, decode.length); obtain.setDataPosition(0); Bundle readBundle = obtain.readBundle(); obtain.recycle(); if (readBundle != null) { String string = readBundle.getString("_action"); if (string != null) { readBundle.remove("_action"); Uri uri = (Uri) readBundle.getParcelable("_uri"); if (uri != null) { readBundle.remove("_uri"); String string2 = readBundle.getString("_type"); if (string2 != null) { readBundle.remove("_type"); Intent intent = new Intent(string); intent.setDataAndType(uri, string2); intent.putExtras(readBundle); return intent; } throw new DropboxParseException("_type was not present in bundle"); } throw new DropboxParseException("_uri was not present in bundle"); } throw new DropboxParseException("_action was not present in bundle"); } throw new DropboxParseException("Could not extract bundle from UtmContent"); } catch (IllegalArgumentException e10) { throw new DropboxParseException("UtmContent was not base64 encoded: " + e10.getMessage()); } } static PackageInfo getDropboxAppPackage(Context context, Intent intent) { ResolveInfo resolveActivity; PackageManager packageManager = context.getPackageManager(); List<ResolveInfo> queryIntentActivities = packageManager.queryIntentActivities(intent, 0); if (queryIntentActivities == null || 1 != queryIntentActivities.size() || (resolveActivity = packageManager.resolveActivity(intent, 0)) == null) { return null; } try { PackageInfo packageInfo = packageManager.getPackageInfo(resolveActivity.activityInfo.packageName, 64); Signature[] signatureArr = packageInfo.signatures; for (Signature signature : signatureArr) { for (String str : DROPBOX_APP_SIGNATURES) { if (str.equals(signature.toCharsString())) { return packageInfo; } } } } catch (PackageManager.NameNotFoundException unused) { } return null; } public static Intent getDropboxPlayStoreIntent() { Intent intent = new Intent("android.intent.action.VIEW"); intent.setData(Uri.parse("market://details?id=com.dropbox.android")); return intent; } private static int getLoggedinState(Context context, String str) { Cursor query = context.getContentResolver().query(LOGGED_IN_URI.buildUpon().appendPath(str).build(), null, null, null, null); if (query == null) { return 0; } query.moveToFirst(); return query.getInt(query.getColumnIndex("logged_in")); } public static boolean isAnySignedIn(Context context) { return getLoggedinState(context, AppEventsConstants.EVENT_PARAM_VALUE_NO) != 0; } public static DbxOfficialAppInstallInfo isInstalled(Context context) { PackageInfo dropboxAppPackage = getDropboxAppPackage(context, AuthActivity.getOfficialAuthIntent()); if (dropboxAppPackage == null) { return null; } int i10 = dropboxAppPackage.versionCode; return new DbxOfficialAppInstallInfo(i10 >= MIN_OPENWITH_VERSION, i10); } /* access modifiers changed from: protected */ public void addExtrasToIntent(Context context, Intent intent) { intent.putExtra(EXTRA_DROPBOX_UID, this.uid); intent.putExtra(EXTRA_CALLING_PACKAGE, context.getPackageName()); } public Intent getPreviewFileIntent(Context context, String str, String str2) { Intent intent = new Intent(ACTION_SHOW_DROPBOX_PREVIEW); addExtrasToIntent(context, intent); intent.putExtra(EXTRA_DROPBOX_PATH, str); intent.putExtra(EXTRA_DROPBOX_REV, str2); if (getDropboxAppPackage(context, intent) == null) { return null; } return intent; } public Intent getUpgradeAccountIntent(Context context) { Intent intent = new Intent(ACTION_SHOW_UPGRADE); addExtrasToIntent(context, intent); if (getDropboxAppPackage(context, intent) != null) { return intent; } Intent intent2 = new Intent("android.intent.action.VIEW"); intent2.setData(Uri.parse("https://www.dropbox.com/upgrade?oqa=upeaoq")); return intent2; } public boolean isSignedIn(Context context) { return getLoggedinState(context, this.uid) == 1; } /* access modifiers changed from: protected */ public Intent launchDropbox(Context context) { Intent launchIntentForPackage = context.getPackageManager().getLaunchIntentForPackage("com.dropbox.android"); if (getDropboxAppPackage(context, launchIntentForPackage) == null) { return null; } return launchIntentForPackage; } }