Commit 658b82b4 by amateur

1

1 parent 5a619f2c
...@@ -5,7 +5,7 @@ public class Constants { ...@@ -5,7 +5,7 @@ public class Constants {
public static final String MODULE_URL_HOME = "file:///data/user/0/com.whaty.nafmii.dev/files/dist/index.html#/"; public static final String MODULE_URL_HOME = "file:///data/user/0/com.whaty.nafmii.dev/files/dist/index.html#/";
public static final String MODULE_URL_MY = "file:///android_asset/dist/index.html#/user/center"; public static final String MODULE_URL_MY = "file:///android_asset/dist/index.html#/user/center";
public static final String MODULE_URL_MEMBER = ""; public static final String MODULE_URL_MEMBER = "";
public static final String MODULE_URL_LEARN = "http://debugtbs.qq.com"; public static final String MODULE_URL_LEARN = "http://bank.lms.webtrn.cn/sites/bank/mb/index.html";
public static final String MODULE_ROUTE_MY = ""; public static final String MODULE_ROUTE_MY = "";
public static final String MODULE_ROUTE_MEMBER = ""; public static final String MODULE_ROUTE_MEMBER = "";
......
...@@ -13,6 +13,7 @@ import io.objectbox.query.QueryBuilder; ...@@ -13,6 +13,7 @@ import io.objectbox.query.QueryBuilder;
public abstract class ObjectBox<T> { public abstract class ObjectBox<T> {
private static BoxStore mBoxStore; private static BoxStore mBoxStore;
private static Box<DataEntity> mDataBox;
public static synchronized BoxStore getStore() { public static synchronized BoxStore getStore() {
if (null == mBoxStore) { if (null == mBoxStore) {
...@@ -23,8 +24,11 @@ public abstract class ObjectBox<T> { ...@@ -23,8 +24,11 @@ public abstract class ObjectBox<T> {
return mBoxStore; return mBoxStore;
} }
public static Box<DataEntity> getDataBox() { public synchronized static Box<DataEntity> getDataBox() {
return getStore().boxFor(DataEntity.class); if (null == mDataBox) {
mDataBox = getStore().boxFor(DataEntity.class);
}
return mDataBox;
} }
public static QueryBuilder<DataEntity> newQuery() { public static QueryBuilder<DataEntity> newQuery() {
...@@ -35,7 +39,7 @@ public abstract class ObjectBox<T> { ...@@ -35,7 +39,7 @@ public abstract class ObjectBox<T> {
return newQuery().equal(DataEntity_.id, id).build().findFirst(); return newQuery().equal(DataEntity_.id, id).build().findFirst();
} }
public static DataEntity findByName(String name) { public synchronized static DataEntity findByName(String name) {
return newQuery().equal(DataEntity_.name, name).build().findFirst(); return newQuery().equal(DataEntity_.name, name).build().findFirst();
} }
public static List<DataEntity> findByNames(String name) { public static List<DataEntity> findByNames(String name) {
...@@ -56,13 +60,16 @@ public abstract class ObjectBox<T> { ...@@ -56,13 +60,16 @@ public abstract class ObjectBox<T> {
public static synchronized void put(DataEntity ...data) { public static synchronized void put(DataEntity ...data) {
for (DataEntity item : data) { for (DataEntity item : data) {
DataEntity entity = findByName(item.getName()); DataEntity entity = findByName(item.getName());
System.out.println("entity is null =========>>>>" + (null == entity));
if (null != entity) { if (null != entity) {
entity.setUpdateDate(new Date()); entity.setUpdateDate(new Date());
entity.setValue(item.getValue()); entity.setValue(item.getValue());
} getDataBox().put(entity);
} else {
getDataBox().put(item); getDataBox().put(item);
} }
} }
}
public static synchronized void delete(long... ids) { public static synchronized void delete(long... ids) {
getDataBox().remove(ids); getDataBox().remove(ids);
......
...@@ -4,7 +4,8 @@ public enum ModulesEnum { ...@@ -4,7 +4,8 @@ public enum ModulesEnum {
HOME("home", "home", "#/home"), HOME("home", "home", "#/home"),
MEMBER("member", "member", "#/member/login"), MEMBER("member", "member", "#/member/login"),
LEARN("learn", "learn", "http://debugtbs.qq.com"), // LEARN("learn", "learn", "http://debugtbs.qq.com"),
LEARN("learn", "learn", "http://bank.lms.webtrn.cn/sites/bank/mb/index.html"),
MY("my", "my", "#/user/center"); MY("my", "my", "#/user/center");
public final String name; public final String name;
......
...@@ -38,7 +38,7 @@ public class ModuleUrlHandle { ...@@ -38,7 +38,7 @@ public class ModuleUrlHandle {
return url; return url;
} }
if (module == ModulesEnum.LEARN) { if (module == ModulesEnum.LEARN) {
return Constants.MODULE_URL_LEARN; return module.webUrl;
} }
String indexUrl = Uri.fromFile(FileUtils.getIndex()).toString(); String indexUrl = Uri.fromFile(FileUtils.getIndex()).toString();
...@@ -54,8 +54,8 @@ public class ModuleUrlHandle { ...@@ -54,8 +54,8 @@ public class ModuleUrlHandle {
// } // }
// Uri uri = Uri.parse(urlStr); // Uri uri = Uri.parse(urlStr);
// return uri.getScheme() +":"+ uri.getSchemeSpecificPart() + module.webUrl; // return uri.getScheme() +":"+ uri.getSchemeSpecificPart() + module.webUrl;
return "http://10.10.81.189/h5/?"+System.currentTimeMillis() + module.webUrl; // return "http://10.10.81.189/h5/?"+System.currentTimeMillis() + module.webUrl;
// return "http://192.168.137.1:8080/"+System.currentTimeMillis() + module.webUrl; return "http://192.168.137.1:8080/"+System.currentTimeMillis() + module.webUrl;
} }
return intent.getStringExtra(module.name); return intent.getStringExtra(module.name);
} }
......
package com.polysoft.nafmii.jpush; package com.polysoft.nafmii.jpush;
import android.text.TextUtils;
import com.polysoft.nafmii.database.ObjectBox;
import com.polysoft.nafmii.database.entity.DataEntity;
import com.polysoft.nafmii.utils.CtxUtils; import com.polysoft.nafmii.utils.CtxUtils;
import cn.jpush.android.api.JPushInterface; import cn.jpush.android.api.JPushInterface;
...@@ -7,6 +11,7 @@ import cn.jpush.android.data.JPushLocalNotification; ...@@ -7,6 +11,7 @@ import cn.jpush.android.data.JPushLocalNotification;
public class JPushMgr { public class JPushMgr {
public static final String JPUSH_ALIAS_KEY= "JPUSH_ALIAS";
// 是否停止推送 // 是否停止推送
public static boolean isPushStopped() { public static boolean isPushStopped() {
...@@ -37,6 +42,14 @@ public class JPushMgr { ...@@ -37,6 +42,14 @@ public class JPushMgr {
JPushInterface.setAlias(CtxUtils.getApplication(), code, alias); JPushInterface.setAlias(CtxUtils.getApplication(), code, alias);
} }
public static String getAlias() {
DataEntity data = ObjectBox.findByName(JPUSH_ALIAS_KEY);
if (null != data) {
return data.getValue();
}
return "";
}
public static void deleteAlias() { public static void deleteAlias() {
String millis = String.valueOf(System.currentTimeMillis()); String millis = String.valueOf(System.currentTimeMillis());
String val = millis.substring(millis.length() - 5, millis.length()); String val = millis.substring(millis.length() - 5, millis.length());
......
...@@ -4,6 +4,9 @@ import android.content.Context; ...@@ -4,6 +4,9 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.util.Log; import android.util.Log;
import com.polysoft.nafmii.database.ObjectBox;
import com.polysoft.nafmii.database.entity.DataEntity;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -109,8 +112,7 @@ public class JPushReceiver extends JPushMessageReceiver { ...@@ -109,8 +112,7 @@ public class JPushReceiver extends JPushMessageReceiver {
String alias = jPushMessage.getAlias(); String alias = jPushMessage.getAlias();
int errorCode = jPushMessage.getErrorCode(); int errorCode = jPushMessage.getErrorCode();
if (errorCode == 0) { if (errorCode == 0) {
aliasStatusMap.clear(); ObjectBox.put(new DataEntity(JPushMgr.JPUSH_ALIAS_KEY, alias));
aliasStatusMap.put(alias, "1");
} }
} }
// //
......
package com.polysoft.nafmii.utils;
import android.app.Activity;
import android.graphics.Rect;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.FrameLayout;
public class AndroidBug5497Workaround {
// For more information, see https://code.google.com/p/android/issues/detail?id=5497
// To use this class, simply invoke assistActivity() on an Activity that already has its content view set.
public static void assistActivity (Activity activity) {
new AndroidBug5497Workaround(activity);
}
private View mChildOfContent;
private int usableHeightPrevious;
private FrameLayout.LayoutParams frameLayoutParams;
private AndroidBug5497Workaround(Activity activity) {
// FrameLayout content = (FrameLayout) activity.findViewById(android.R.id.content);
// mChildOfContent = content.getChildAt(0);
// mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
// public void onGlobalLayout() {
// possiblyResizeChildOfContent();
// }
// });
// frameLayoutParams = (FrameLayout.LayoutParams) mChildOfContent.getLayoutParams();
}
private void possiblyResizeChildOfContent() {
int usableHeightNow = computeUsableHeight();
if (usableHeightNow != usableHeightPrevious) {
int usableHeightSansKeyboard = mChildOfContent.getRootView().getHeight();
int heightDifference = usableHeightSansKeyboard - usableHeightNow;
if (heightDifference > (usableHeightSansKeyboard/4)) {
// keyboard probably just became visible
frameLayoutParams.height = usableHeightSansKeyboard - heightDifference;
} else {
// keyboard probably just became hidden
frameLayoutParams.height = usableHeightSansKeyboard;
}
mChildOfContent.requestLayout();
usableHeightPrevious = usableHeightNow;
}
}
private int computeUsableHeight() {
Rect r = new Rect();
mChildOfContent.getWindowVisibleDisplayFrame(r);
return (r.bottom - r.top);// 全屏模式下: return r.bottom
}
}
...@@ -4,6 +4,7 @@ import android.Manifest; ...@@ -4,6 +4,7 @@ import android.Manifest;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.text.TextUtils;
import android.webkit.JavascriptInterface; import android.webkit.JavascriptInterface;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
...@@ -11,7 +12,9 @@ import com.alibaba.fastjson.JSONObject; ...@@ -11,7 +12,9 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.util.TypeUtils; import com.alibaba.fastjson.util.TypeUtils;
import com.polysoft.nafmii.bean.MenuBean; import com.polysoft.nafmii.bean.MenuBean;
import com.polysoft.nafmii.bean.Result; import com.polysoft.nafmii.bean.Result;
import com.polysoft.nafmii.broadcast.PhotosReceiver;
import com.polysoft.nafmii.broadcast.Receiver; import com.polysoft.nafmii.broadcast.Receiver;
import com.polysoft.nafmii.broadcast.ReceiverListener;
import com.polysoft.nafmii.broadcast.ShareReceiver; import com.polysoft.nafmii.broadcast.ShareReceiver;
import com.polysoft.nafmii.database.ObjectBox; import com.polysoft.nafmii.database.ObjectBox;
import com.polysoft.nafmii.database.entity.DataEntity; import com.polysoft.nafmii.database.entity.DataEntity;
...@@ -19,6 +22,7 @@ import com.polysoft.nafmii.enums.DatabaseEnum; ...@@ -19,6 +22,7 @@ import com.polysoft.nafmii.enums.DatabaseEnum;
import com.polysoft.nafmii.fragment.dialog.FingerprintDialog; import com.polysoft.nafmii.fragment.dialog.FingerprintDialog;
import com.polysoft.nafmii.jpush.JPushMgr; import com.polysoft.nafmii.jpush.JPushMgr;
import com.polysoft.nafmii.net.OkhttpApi; import com.polysoft.nafmii.net.OkhttpApi;
import com.polysoft.nafmii.utils.BitmapUtils;
import com.polysoft.nafmii.utils.CtxUtils; import com.polysoft.nafmii.utils.CtxUtils;
import com.polysoft.nafmii.utils.IntentUtils; import com.polysoft.nafmii.utils.IntentUtils;
import com.polysoft.nafmii.utils.PermissionUtils; import com.polysoft.nafmii.utils.PermissionUtils;
...@@ -151,7 +155,10 @@ public class NativeApi { ...@@ -151,7 +155,10 @@ public class NativeApi {
public void nativeRegisterPush(String params) { public void nativeRegisterPush(String params) {
new JsInterfaceHandler(handler).parse(params, (data, js) -> { new JsInterfaceHandler(handler).parse(params, (data, js) -> {
String alias = data.getString("alias"); String alias = data.getString("alias");
String alias1 = JPushMgr.getAlias();
if (!TextUtils.isEmpty(alias) && !alias.equals(alias1)) {
JPushMgr.setAlias(alias); JPushMgr.setAlias(alias);
}
js.success(null); js.success(null);
}); });
} }
...@@ -177,6 +184,7 @@ public class NativeApi { ...@@ -177,6 +184,7 @@ public class NativeApi {
@JavascriptInterface @JavascriptInterface
public void nativeDownload(String params) { public void nativeDownload(String params) {
new JsInterfaceHandler(handler).parse(params, (data, js) -> { new JsInterfaceHandler(handler).parse(params, (data, js) -> {
String name = data.getString("name");
String url = data.getString("url"); String url = data.getString("url");
// OkhttpApi.doDownload(url, ); // OkhttpApi.doDownload(url, );
js.success(null); js.success(null);
...@@ -188,13 +196,13 @@ public class NativeApi { ...@@ -188,13 +196,13 @@ public class NativeApi {
@JavascriptInterface @JavascriptInterface
public void nativeCamera(String params) { public void nativeCamera(String params) {
new JsInterfaceHandler(handler).parse(params, (data, js) -> { new JsInterfaceHandler(handler).parse(params, (data, js) -> {
});
String permissions[] = {Manifest.permission.CAMERA}; String permissions[] = {Manifest.permission.CAMERA};
if (PermissionUtils.checkAndRequestMorePermissions(this.mActivity, permissions)) { if (PermissionUtils.checkAndRequestMorePermissions(this.mActivity, permissions)) {
this.photosReceiverListener(js);
Intent intent = IntentUtils.openCamera(this.mActivity); Intent intent = IntentUtils.openCamera(this.mActivity);
handler.getFragment().startActivityForResult(intent, IntentUtils.ACTIVITY_CODE_CAMERA); handler.getFragment().startActivityForResult(intent, IntentUtils.ACTIVITY_CODE_CAMERA);
} }
});
} }
@JavascriptInterface @JavascriptInterface
...@@ -276,4 +284,23 @@ public class NativeApi { ...@@ -276,4 +284,23 @@ public class NativeApi {
// //
private void photosReceiverListener(JsInterfaceHandler.JsInterface js) {
final Receiver<String> instance = PhotosReceiver.getInstance(this.mActivity);
instance.register();
instance.addDefaultListener((action, data) -> {
try {
String base64 = BitmapUtils.bitmap2base64(data);
if (!TextUtils.isEmpty(base64)) {
String imgBase64 = "data:image/jpg;base64," + base64;
js.success(imgBase64);
} else {
js.success("");
}
} catch (Exception e) {
e.printStackTrace();
}
instance.addDefaultListener(null);
});
}
} }
...@@ -7,8 +7,6 @@ import androidx.annotation.NonNull; ...@@ -7,8 +7,6 @@ import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction; import androidx.fragment.app.FragmentTransaction;
import com.polysoft.nafmii.database.ObjectBox;
import com.polysoft.nafmii.database.entity.DataEntity;
import com.polysoft.nafmii.fragment.AdvertisementFragment; import com.polysoft.nafmii.fragment.AdvertisementFragment;
import com.polysoft.nafmii.fragment.GuideFragment; import com.polysoft.nafmii.fragment.GuideFragment;
import com.polysoft.nafmii.utils.CtxUtils; import com.polysoft.nafmii.utils.CtxUtils;
...@@ -21,8 +19,6 @@ import com.polysoft.nafmii.viewmodel.AdvertisementViewModel; ...@@ -21,8 +19,6 @@ import com.polysoft.nafmii.viewmodel.AdvertisementViewModel;
import com.polysoft.nafmii.webview.X5Core; import com.polysoft.nafmii.webview.X5Core;
import com.whaty.nafmii.R; import com.whaty.nafmii.R;
import java.util.List;
import cn.jpush.android.api.JPushInterface; import cn.jpush.android.api.JPushInterface;
public class MainActivity extends BaseActivity { public class MainActivity extends BaseActivity {
...@@ -57,13 +53,6 @@ public class MainActivity extends BaseActivity { ...@@ -57,13 +53,6 @@ public class MainActivity extends BaseActivity {
SpUtils.putBoolean(FIRST_RUN_KEY, true); SpUtils.putBoolean(FIRST_RUN_KEY, true);
} else if (IActivityEvent.EVENT_ADVERTISEMENT.equals(event)) { } else if (IActivityEvent.EVENT_ADVERTISEMENT.equals(event)) {
} }
List<DataEntity> info = ObjectBox.findByNames("UserInfo");
// if (null != info && !info.isEmpty()) {
// for (DataEntity entity : info) {
// ObjectBox.delete(entity.getId());
// }
// }
// List<DataEntity> info2 = ObjectBox.findByNames("UserInfo");
IntentUtils.toHomeActivity(this); IntentUtils.toHomeActivity(this);
} }
......
...@@ -2,6 +2,7 @@ package com.whaty.nafmii.activity; ...@@ -2,6 +2,7 @@ package com.whaty.nafmii.activity;
import android.os.Bundle; import android.os.Bundle;
import com.polysoft.nafmii.utils.AndroidBug5497Workaround;
import com.polysoft.nafmii.webview.X5Core; import com.polysoft.nafmii.webview.X5Core;
public abstract class WebviewActivity extends BaseActivity{ public abstract class WebviewActivity extends BaseActivity{
...@@ -9,6 +10,7 @@ public abstract class WebviewActivity extends BaseActivity{ ...@@ -9,6 +10,7 @@ public abstract class WebviewActivity extends BaseActivity{
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
AndroidBug5497Workaround.assistActivity(this);
X5Core.setInitCallback(flag -> { X5Core.setInitCallback(flag -> {
}); });
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!