com-dot-app-sancharsaathi-1-5-0.apk

Download file
    package E2;

import E2.a;
import android.content.Context;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.storage.StorageManager;
import android.provider.DocumentsContract;
import android.util.Log;
import android.webkit.MimeTypeMap;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Array;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

public abstract class e {
    public static boolean a(Context context) {
        try {
            n(new File(context.getCacheDir() + "/file_picker/"));
            return true;
        } catch (Exception e4) {
            Log.e("FilePickerUtils", "There was an error while clearing cached files: " + e4.toString());
            return false;
        }
    }

    public static Uri b(Uri uri, int i4, Context context) {
        InputStream openInputStream;
        try {
            openInputStream = context.getContentResolver().openInputStream(uri);
            File c4 = c();
            Bitmap decodeStream = BitmapFactory.decodeStream(openInputStream);
            FileOutputStream fileOutputStream = new FileOutputStream(c4);
            decodeStream.compress(Bitmap.CompressFormat.JPEG, i4, fileOutputStream);
            fileOutputStream.flush();
            fileOutputStream.close();
            Uri fromFile = Uri.fromFile(c4);
            if (openInputStream != null) {
                openInputStream.close();
            }
            return fromFile;
        } catch (FileNotFoundException e4) {
            throw new RuntimeException(e4);
        } catch (IOException e5) {
            throw new RuntimeException(e5);
        } catch (Throwable th) {
            th.addSuppressed(th);
        }
        throw th;
    }

    public static File c() {
        String format = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
        return File.createTempFile("JPEG_" + format + "_", ".jpg", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES));
    }

    public static String d(Class cls, Object obj) {
        try {
            if (Build.VERSION.SDK_INT < 30) {
                return (String) cls.getMethod("getPath", (Class[]) null).invoke(obj, (Object[]) null);
            }
            File file = (File) cls.getMethod("getDirectory", (Class[]) null).invoke(obj, (Object[]) null);
            if (file != null) {
                return file.getPath();
            }
            return null;
        } catch (Exception unused) {
        }
    }

    /* JADX WARNING: Code restructure failed: missing block: B:2:0x000e, code lost:
        r2 = r2[1];
     */
    /* Code decompiled incorrectly, please refer to instructions dump. */
    public static java.lang.String e(android.net.Uri r2) {
        /*
            java.lang.String r2 = android.provider.DocumentsContract.getTreeDocumentId(r2)
            java.lang.String r0 = ":"
            java.lang.String[] r2 = r2.split(r0)
            int r0 = r2.length
            r1 = 2
            if (r0 < r1) goto L_0x0014
            r0 = 1
            r2 = r2[r0]
            if (r2 == 0) goto L_0x0014
            return r2
        L_0x0014:
            java.lang.String r2 = java.io.File.separator
            return r2
        */
        throw new UnsupportedOperationException("Method not decompiled: E2.e.e(android.net.Uri):java.lang.String");
    }

    public static String f(Uri uri, Context context) {
        Cursor query;
        String str = null;
        try {
            if (uri.getScheme().equals("content")) {
                query = context.getContentResolver().query(uri, new String[]{"_display_name"}, (String) null, (String[]) null, (String) null);
                if (query != null) {
                    if (query.moveToFirst()) {
                        str = query.getString(query.getColumnIndexOrThrow("_display_name"));
                    }
                }
                query.close();
            }
            if (str != null) {
                return str;
            }
            String path = uri.getPath();
            int lastIndexOf = path.lastIndexOf(47);
            return lastIndexOf != -1 ? path.substring(lastIndexOf + 1) : path;
        } catch (Exception e4) {
            Log.e("FilePickerUtils", "Failed to handle file name: " + e4.toString());
            return null;
        } catch (Throwable th) {
            query.close();
            throw th;
        }
    }

    public static String g(Uri uri, Context context) {
        if (uri == null) {
            return null;
        }
        if (Build.VERSION.SDK_INT >= 30 || !k(uri)) {
            String j4 = j(i(uri), context);
            new a.C0009a();
            if (j4 == null) {
                return File.separator;
            }
            String str = File.separator;
            if (j4.endsWith(str)) {
                j4 = j4.substring(0, j4.length() - 1);
            }
            String e4 = e(uri);
            if (e4.endsWith(str)) {
                e4 = e4.substring(0, e4.length() - 1);
            }
            if (e4.length() <= 0) {
                return j4;
            }
            if (e4.startsWith(str)) {
                return j4 + e4;
            }
            return j4 + str + e4;
        }
        String documentId = DocumentsContract.getDocumentId(uri);
        String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getPath();
        if (documentId.equals("downloads")) {
            return path;
        }
        if (documentId.matches("^ms[df]\\:.*")) {
            String f4 = f(uri, context);
            return path + "/" + f4;
        } else if (documentId.startsWith("raw:")) {
            return documentId.split(":")[1];
        } else {
            return null;
        }
    }

    public static String[] h(ArrayList arrayList) {
        if (arrayList == null || arrayList.isEmpty()) {
            return null;
        }
        ArrayList arrayList2 = new ArrayList();
        for (int i4 = 0; i4 < arrayList.size(); i4++) {
            String mimeTypeFromExtension = MimeTypeMap.getSingleton().getMimeTypeFromExtension((String) arrayList.get(i4));
            if (mimeTypeFromExtension == null) {
                Log.w("FilePickerUtils", "Custom file type " + ((String) arrayList.get(i4)) + " is unsupported and will be ignored.");
            } else {
                arrayList2.add(mimeTypeFromExtension);
            }
        }
        Log.d("FilePickerUtils", "Allowed file extensions mimes: " + arrayList2);
        return (String[]) arrayList2.toArray(new String[0]);
    }

    public static String i(Uri uri) {
        String[] split = DocumentsContract.getTreeDocumentId(uri).split(":");
        if (split.length > 0) {
            return split[0];
        }
        return null;
    }

    public static String j(String str, Context context) {
        try {
            StorageManager storageManager = (StorageManager) context.getSystemService("storage");
            Class<?> cls = Class.forName("android.os.storage.StorageVolume");
            Method method = storageManager.getClass().getMethod("getVolumeList", (Class[]) null);
            Method method2 = cls.getMethod("getUuid", (Class[]) null);
            Method method3 = cls.getMethod("isPrimary", (Class[]) null);
            Object invoke = method.invoke(storageManager, (Object[]) null);
            if (invoke == null) {
                return null;
            }
            int length = Array.getLength(invoke);
            for (int i4 = 0; i4 < length; i4++) {
                Object obj = Array.get(invoke, i4);
                String str2 = (String) method2.invoke(obj, (Object[]) null);
                if (((Boolean) method3.invoke(obj, (Object[]) null)) != null && "primary".equals(str)) {
                    return d(cls, obj);
                }
                if (str2 != null && str2.equals(str)) {
                    return d(cls, obj);
                }
            }
            return null;
        } catch (Exception unused) {
        }
    }

    public static boolean k(Uri uri) {
        return "com.android.providers.downloads.documents".equals(uri.getAuthority());
    }

    public static void l(File file, a.C0009a aVar) {
        try {
            int length = (int) file.length();
            byte[] bArr = new byte[length];
            try {
                BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
                bufferedInputStream.read(bArr, 0, length);
                bufferedInputStream.close();
            } catch (FileNotFoundException e4) {
                Log.e("FilePickerUtils", "File not found: " + e4.getMessage(), (Throwable) null);
            } catch (IOException e5) {
                Log.e("FilePickerUtils", "Failed to close file streams: " + e5.getMessage(), (Throwable) null);
            }
            aVar.b(bArr);
        } catch (Exception e6) {
            Log.e("FilePickerUtils", "Failed to load bytes into memory with error " + e6.toString() + ". Probably the file is too big to fit device memory. Bytes won't be added to the file this time.");
        }
    }

    /* JADX WARNING: Removed duplicated region for block: B:44:0x00fb A[SYNTHETIC, Splitter:B:44:0x00fb] */
    /* JADX WARNING: Removed duplicated region for block: B:49:0x0118 A[SYNTHETIC, Splitter:B:49:0x0118] */
    /* JADX WARNING: Removed duplicated region for block: B:55:0x0136 A[SYNTHETIC, Splitter:B:55:0x0136] */
    /* JADX WARNING: Removed duplicated region for block: B:60:0x0153 A[SYNTHETIC, Splitter:B:60:0x0153] */
    /* Code decompiled incorrectly, please refer to instructions dump. */
    public static E2.a m(android.content.Context r12, android.net.Uri r13, boolean r14) {
        /*
            java.lang.String r0 = "Failed to close file streams: "
            java.lang.StringBuilder r1 = new java.lang.StringBuilder
            r1.<init>()
            java.lang.String r2 = "Caching from URI: "
            r1.append(r2)
            java.lang.String r2 = r13.toString()
            r1.append(r2)
            java.lang.String r1 = r1.toString()
            java.lang.String r2 = "FilePickerUtils"
            android.util.Log.i(r2, r1)
            E2.a$a r1 = new E2.a$a
            r1.<init>()
            java.lang.String r3 = f(r13, r12)
            java.lang.StringBuilder r4 = new java.lang.StringBuilder
            r4.<init>()
            java.io.File r5 = r12.getCacheDir()
            java.lang.String r5 = r5.getAbsolutePath()
            r4.append(r5)
            java.lang.String r5 = "/file_picker/"
            r4.append(r5)
            long r5 = java.lang.System.currentTimeMillis()
            r4.append(r5)
            java.lang.String r5 = "/"
            r4.append(r5)
            if (r3 == 0) goto L_0x004a
            r5 = r3
            goto L_0x004c
        L_0x004a:
            java.lang.String r5 = "unamed"
        L_0x004c:
            r4.append(r5)
            java.lang.String r4 = r4.toString()
            java.io.File r5 = new java.io.File
            r5.<init>(r4)
            boolean r6 = r5.exists()
            if (r6 != 0) goto L_0x016f
            r6 = 0
            java.io.File r7 = r5.getParentFile()     // Catch:{ Exception -> 0x00de, all -> 0x00da }
            r7.mkdirs()     // Catch:{ Exception -> 0x00de, all -> 0x00da }
            java.io.FileOutputStream r7 = new java.io.FileOutputStream     // Catch:{ Exception -> 0x00de, all -> 0x00da }
            r7.<init>(r4)     // Catch:{ Exception -> 0x00de, all -> 0x00da }
            java.io.BufferedOutputStream r8 = new java.io.BufferedOutputStream     // Catch:{ all -> 0x00d0 }
            r8.<init>(r7)     // Catch:{ all -> 0x00d0 }
            android.content.ContentResolver r12 = r12.getContentResolver()     // Catch:{ all -> 0x00d0 }
            java.io.InputStream r12 = r12.openInputStream(r13)     // Catch:{ all -> 0x00d0 }
            r9 = 8192(0x2000, float:1.14794E-41)
            byte[] r9 = new byte[r9]     // Catch:{ all -> 0x0087 }
        L_0x007c:
            int r10 = r12.read(r9)     // Catch:{ all -> 0x0087 }
            if (r10 < 0) goto L_0x0089
            r11 = 0
            r8.write(r9, r11, r10)     // Catch:{ all -> 0x0087 }
            goto L_0x007c
        L_0x0087:
            r13 = move-exception
            goto L_0x00d2
        L_0x0089:
            r8.flush()     // Catch:{ all -> 0x0087 }
            java.io.FileDescriptor r8 = r7.getFD()     // Catch:{ Exception -> 0x00ce }
            r8.sync()     // Catch:{ Exception -> 0x00ce }
            r7.close()     // Catch:{ IOException -> 0x0097 }
            goto L_0x00ae
        L_0x0097:
            r7 = move-exception
            java.lang.StringBuilder r8 = new java.lang.StringBuilder
            r8.<init>()
            r8.append(r0)
            java.lang.String r7 = r7.getMessage()
            r8.append(r7)
            java.lang.String r7 = r8.toString()
            android.util.Log.e(r2, r7, r6)
        L_0x00ae:
            r12.close()     // Catch:{ IOException -> 0x00b3 }
            goto L_0x016f
        L_0x00b3:
            r12 = move-exception
            java.lang.StringBuilder r7 = new java.lang.StringBuilder
            r7.<init>()
            r7.append(r0)
            java.lang.String r12 = r12.getMessage()
            r7.append(r12)
            java.lang.String r12 = r7.toString()
            android.util.Log.e(r2, r12, r6)
            goto L_0x016f
        L_0x00cc:
            r13 = move-exception
            goto L_0x0134
        L_0x00ce:
            r13 = move-exception
            goto L_0x00e1
        L_0x00d0:
            r13 = move-exception
            r12 = r6
        L_0x00d2:
            java.io.FileDescriptor r14 = r7.getFD()     // Catch:{ Exception -> 0x00ce }
            r14.sync()     // Catch:{ Exception -> 0x00ce }
            throw r13     // Catch:{ Exception -> 0x00ce }
        L_0x00da:
            r13 = move-exception
            r12 = r6
            r7 = r12
            goto L_0x0134
        L_0x00de:
            r13 = move-exception
            r12 = r6
            r7 = r12
        L_0x00e1:
            java.lang.StringBuilder r14 = new java.lang.StringBuilder     // Catch:{ all -> 0x00cc }
            r14.<init>()     // Catch:{ all -> 0x00cc }
            java.lang.String r1 = "Failed to retrieve path: "
            r14.append(r1)     // Catch:{ all -> 0x00cc }
            java.lang.String r13 = r13.getMessage()     // Catch:{ all -> 0x00cc }
            r14.append(r13)     // Catch:{ all -> 0x00cc }
            java.lang.String r13 = r14.toString()     // Catch:{ all -> 0x00cc }
            android.util.Log.e(r2, r13, r6)     // Catch:{ all -> 0x00cc }
            if (r7 == 0) goto L_0x0116
            r7.close()     // Catch:{ IOException -> 0x00ff }
            goto L_0x0116
        L_0x00ff:
            r13 = move-exception
            java.lang.StringBuilder r14 = new java.lang.StringBuilder
            r14.<init>()
            r14.append(r0)
            java.lang.String r13 = r13.getMessage()
            r14.append(r13)
            java.lang.String r13 = r14.toString()
            android.util.Log.e(r2, r13, r6)
        L_0x0116:
            if (r12 == 0) goto L_0x0133
            r12.close()     // Catch:{ IOException -> 0x011c }
            goto L_0x0133
        L_0x011c:
            r12 = move-exception
            java.lang.StringBuilder r13 = new java.lang.StringBuilder
            r13.<init>()
            r13.append(r0)
            java.lang.String r12 = r12.getMessage()
            r13.append(r12)
            java.lang.String r12 = r13.toString()
            android.util.Log.e(r2, r12, r6)
        L_0x0133:
            return r6
        L_0x0134:
            if (r7 == 0) goto L_0x0151
            r7.close()     // Catch:{ IOException -> 0x013a }
            goto L_0x0151
        L_0x013a:
            r14 = move-exception
            java.lang.StringBuilder r1 = new java.lang.StringBuilder
            r1.<init>()
            r1.append(r0)
            java.lang.String r14 = r14.getMessage()
            r1.append(r14)
            java.lang.String r14 = r1.toString()
            android.util.Log.e(r2, r14, r6)
        L_0x0151:
            if (r12 == 0) goto L_0x016e
            r12.close()     // Catch:{ IOException -> 0x0157 }
            goto L_0x016e
        L_0x0157:
            r12 = move-exception
            java.lang.StringBuilder r14 = new java.lang.StringBuilder
            r14.<init>()
            r14.append(r0)
            java.lang.String r12 = r12.getMessage()
            r14.append(r12)
            java.lang.String r12 = r14.toString()
            android.util.Log.e(r2, r12, r6)
        L_0x016e:
            throw r13
        L_0x016f:
            java.lang.StringBuilder r12 = new java.lang.StringBuilder
            r12.<init>()
            java.lang.String r0 = "File loaded and cached at:"
            r12.append(r0)
            r12.append(r4)
            java.lang.String r12 = r12.toString()
            android.util.Log.d(r2, r12)
            if (r14 == 0) goto L_0x0188
            l(r5, r1)
        L_0x0188:
            E2.a$a r12 = r1.d(r4)
            E2.a$a r12 = r12.c(r3)
            E2.a$a r12 = r12.f(r13)
            long r13 = r5.length()
            java.lang.String r13 = java.lang.String.valueOf(r13)
            long r13 = java.lang.Long.parseLong(r13)
            r12.e(r13)
            E2.a r12 = r1.a()
            return r12
        */
        throw new UnsupportedOperationException("Method not decompiled: E2.e.m(android.content.Context, android.net.Uri, boolean):E2.a");
    }

    public static void n(File file) {
        if (file != null && file.exists()) {
            if (file.isDirectory()) {
                for (File n4 : file.listFiles()) {
                    n(n4);
                }
            }
            file.delete();
        }
    }
}
    
Download file