|
|
|
package com.agg.h5game.tools;
|
|
|
|
|
|
|
|
import android.content.Context;
|
|
|
|
import android.content.SharedPreferences;
|
|
|
|
import android.content.pm.ApplicationInfo;
|
|
|
|
import android.content.pm.PackageManager;
|
|
|
|
import android.text.TextUtils;
|
|
|
|
|
|
|
|
import org.json.JSONArray;
|
|
|
|
import org.json.JSONException;
|
|
|
|
import org.json.JSONObject;
|
|
|
|
|
|
|
|
import java.io.BufferedReader;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.InputStreamReader;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.Enumeration;
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.Locale;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Properties;
|
|
|
|
import java.util.zip.ZipEntry;
|
|
|
|
import java.util.zip.ZipFile;
|
|
|
|
|
|
...
|
...
|
@@ -44,100 +30,6 @@ public class AggH5Tools { |
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***
|
|
|
|
* 获取assets目录下文件内容
|
|
|
|
*
|
|
|
|
* @param context
|
|
|
|
* @param assetsFile
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
public static String getAssetConfigs(Context context, String assetsFile) {
|
|
|
|
InputStreamReader reader = null;
|
|
|
|
BufferedReader br = null;
|
|
|
|
try {
|
|
|
|
reader = new InputStreamReader(context.getAssets().open(assetsFile));
|
|
|
|
br = new BufferedReader(reader);
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
String line = null;
|
|
|
|
while ((line = br.readLine()) != null) {
|
|
|
|
sb.append(line);
|
|
|
|
}
|
|
|
|
|
|
|
|
return sb.toString();
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
} finally {
|
|
|
|
if (br != null) {
|
|
|
|
try {
|
|
|
|
br.close();
|
|
|
|
br = null;
|
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (reader != null) {
|
|
|
|
try {
|
|
|
|
reader.close();
|
|
|
|
reader = null;
|
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public static String getAssetsPropertiesContext(Context context, String fileName, String valueName) {
|
|
|
|
String value = "";
|
|
|
|
Properties properties = new Properties();
|
|
|
|
try {
|
|
|
|
properties.load(context.getAssets()
|
|
|
|
.open(fileName));
|
|
|
|
value = properties.getProperty(valueName);
|
|
|
|
} catch (IOException e) {
|
|
|
|
// TODO Auto-generated catch block
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
return value;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取assets目录下面指定的.properties文件内容
|
|
|
|
*
|
|
|
|
* @param context
|
|
|
|
* @param assetsPropertiesFile
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
public static Map<String, String> getAssetPropConfig(Context context,
|
|
|
|
String assetsPropertiesFile) {
|
|
|
|
try {
|
|
|
|
Properties pro = new Properties();
|
|
|
|
pro.load(context.getAssets().open(assetsPropertiesFile));
|
|
|
|
|
|
|
|
Map<String, String> result = new HashMap<String, String>();
|
|
|
|
|
|
|
|
for (Map.Entry<Object, Object> entry : pro.entrySet()) {
|
|
|
|
String keyStr = entry.getKey().toString().trim();
|
|
|
|
String keyVal = entry.getValue().toString().trim();
|
|
|
|
if (!result.containsKey(keyStr)) {
|
|
|
|
result.put(keyStr, keyVal);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static String getLogicChannel(Context context, String prefix) {
|
|
|
|
ApplicationInfo appInfo = context.getApplicationInfo();
|
|
|
|
String sourceDir = appInfo.sourceDir;
|
|
...
|
...
|
@@ -166,112 +58,4 @@ public class AggH5Tools { |
|
|
|
}
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 是否第一次进入APP
|
|
|
|
*
|
|
|
|
* @param context
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
public static boolean firstIn(Context context) {
|
|
|
|
SharedPreferences shared = context.getSharedPreferences("info", Context.MODE_PRIVATE);
|
|
|
|
boolean isfer = shared.getBoolean("isfer", true);
|
|
|
|
SharedPreferences.Editor editor = shared.edit();
|
|
|
|
if (isfer) {
|
|
|
|
//第一次进入
|
|
|
|
editor.putBoolean("isfer", false);
|
|
|
|
editor.commit();
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
//非第一次进入
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取时间
|
|
|
|
*
|
|
|
|
* @return 返回时间,如20170829
|
|
|
|
*/
|
|
|
|
public static String getDay() {
|
|
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd", Locale.getDefault());// 设置日期格式
|
|
|
|
Date now = new Date();
|
|
|
|
String day = df.format(now);// 获取当前的日期
|
|
|
|
return day;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取手机型号
|
|
|
|
*
|
|
|
|
* @return 手机型号
|
|
|
|
*/
|
|
|
|
public static String getSystemModel() {
|
|
|
|
return android.os.Build.MODEL;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static Map<String, String> common2map(boolean is2h5) {
|
|
|
|
Map<String, String> datas = new HashMap<String, String>();
|
|
|
|
/*datas.put("game_id", ConfigInfor.gameId);
|
|
|
|
datas.put("client_id", ConfigInfor.clientId);
|
|
|
|
datas.put("dyClientId", ConfigInfor.dyClientId);
|
|
|
|
datas.put("imei", "0000-000000-0000000000000");
|
|
|
|
datas.put("oaid", ConfigInfor.oaid);
|
|
|
|
datas.put("device", AndroidTools.getDeviceInfor());
|
|
|
|
datas.put("os", "1");
|
|
|
|
datas.put("version", AndroidTools.getAndroidSDKVersion());
|
|
|
|
datas.put("sdkVersion", QNConstant.versionName);
|
|
|
|
datas.put("android_id", AndroidTools.getAndroidID(QNSdkManager.getInstance().getsApplication()));
|
|
|
|
|
|
|
|
if (switchWithKey("is_permissAuth").equals("Y")) {
|
|
|
|
//datas.put("imei", AndroidTools.getAndroidID(QNSdkManager.getInstance().getsApplication()));
|
|
|
|
datas.put("imei", AndroidTools.getImei(QNSdkManager.getInstance().getsApplication()));
|
|
|
|
} else {
|
|
|
|
datas.put("imei", AndroidTools.getAndroidID(QNSdkManager.getInstance().getsApplication()));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!is2h5 && QNSdkManager.getInstance().isLogin()) {
|
|
|
|
datas.put("uid", ConfigInfor.getInstance().getCurrentUserKey("uid"));
|
|
|
|
datas.put("username", ConfigInfor.getInstance().getCurrentUserKey("username"));
|
|
|
|
datas.put("token", ConfigInfor.getInstance().getCurrentUserKey("token"));
|
|
|
|
}
|
|
|
|
if (is2h5) {
|
|
|
|
datas.put("appKey", ConfigInfor.appKey);
|
|
|
|
datas.put("payJump", ConfigInfor.payJump);
|
|
|
|
datas.putAll(ConfigInfor.getInstance().swithConfigs);
|
|
|
|
}*/
|
|
|
|
return datas;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static String map2string(Map<String, String> jsondatas) {
|
|
|
|
JSONObject json = new JSONObject();
|
|
|
|
for (String key : jsondatas.keySet()) {
|
|
|
|
String value = jsondatas.get(key);
|
|
|
|
if (value == null) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (value.contains("[") && value.contains("]")) {
|
|
|
|
try {
|
|
|
|
json.put(key, new JSONArray(value));
|
|
|
|
} catch (JSONException e) {
|
|
|
|
// TODO Auto-generated catch block
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
} else if (value.contains("{") && value.contains("}")) {
|
|
|
|
try {
|
|
|
|
json.put(key, new JSONObject(value));
|
|
|
|
} catch (JSONException e) {
|
|
|
|
// TODO Auto-generated catch block
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
try {
|
|
|
|
json.put(key, jsondatas.get(key).toString());
|
|
|
|
} catch (JSONException e) {
|
|
|
|
// TODO Auto-generated catch block
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return json.toString();
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|