HiUID.java 源代码


package com.hichip.getuid;

import android.content.Context;
import android.os.Environment;
import com.hichip.base.HiLog;
import java.io.File;
import java.io.IOException;

public class HiUID {
    public static native int HiCheckFileData(String str);

    public static native String HiFindUidEXT_2M(String str, int[] iArr, int i, int i2);

    public static native String HiFindUidP2P(String str, int[] iArr);

    public static native String HiFindUidPush(String str, int i);

    public static native String HiFindUid_2M(String str, int[] iArr, int i);

    public static native int HiFirstWriteData(String str, int i);

    public static native int HiGetUidList(String str, String str2);

    public static native int Test();

    public static String getFilePath(Context context) {
        if (context == null) {
            return null;
        }
        if ("mounted".equals(Environment.getExternalStorageState()) || !Environment.isExternalStorageRemovable()) {
            if (context == null || context.getExternalCacheDir() == null) {
                return null;
            }
            return context.getExternalCacheDir().getAbsolutePath();
        }
        return context.getCacheDir().getAbsolutePath();
    }

    public static String getFilename(Context context, String str) {
        String filePath = getFilePath(context);
        if (filePath == null || str == null) {
            return null;
        }
        File file = new File(filePath);
        if (!file.exists()) {
            file.mkdirs();
        }
        HiLog.e(str, 1, 0);
        return str + "/uidlist.uid";
    }

    public static boolean exists(String str) {
        return new File(str).exists();
    }

    public static int CreateFile(String str) {
        File file = new File(str);
        if (!file.exists()) {
            HiLog.e("", 1, 0);
            try {
                file.createNewFile();
                HiLog.e("", 1, 0);
            } catch (IOException e) {
                e.printStackTrace();
                return -1;
            }
        }
        return 1;
    }

    public static void isExistCreat(Context context) {
        String filename = getFilename(context, getFilePath(context));
        HiLog.e(filename, 1, 0);
        if (filename == null) {
            return;
        }
        if (exists(filename)) {
            HiLog.e("", 1, 0);
            int HiCheckFileData = HiCheckFileData(filename);
            HiLog.e("HiCheckFileData::" + HiCheckFileData, 1, 0);
            if (HiCheckFileData == -2) {
                CreateFile(filename);
            }
        } else {
            CreateFile(filename);
        }
        HiFirstWriteData(filename, 1);
    }
}