Commit 65a1d282 by amateur

1

1 parent 5cbe8a75
...@@ -102,6 +102,7 @@ dependencies { ...@@ -102,6 +102,7 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
implementation 'ren.yale.android:cachewebviewlib:2.1.8' implementation 'ren.yale.android:cachewebviewlib:2.1.8'
implementation 'com.alibaba:fastjson:1.2.75' implementation 'com.alibaba:fastjson:1.2.75'
implementation 'com.wang.avi:library:2.1.3'
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.0' implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.0'
implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.2' implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.2'
implementation 'com.github.bumptech.glide:glide:4.12.0' implementation 'com.github.bumptech.glide:glide:4.12.0'
......
...@@ -9,8 +9,6 @@ import java.util.List; ...@@ -9,8 +9,6 @@ import java.util.List;
import io.objectbox.Box; import io.objectbox.Box;
import io.objectbox.BoxStore; import io.objectbox.BoxStore;
import io.objectbox.EntityInfo;
import io.objectbox.Property;
import io.objectbox.query.QueryBuilder; import io.objectbox.query.QueryBuilder;
public abstract class ObjectBox<T> { public abstract class ObjectBox<T> {
...@@ -40,6 +38,9 @@ public abstract class ObjectBox<T> { ...@@ -40,6 +38,9 @@ public abstract class ObjectBox<T> {
public static DataEntity findByName(String name) { public 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) {
return newQuery().equal(DataEntity_.name, name).build().find();
}
public static List<DataEntity> findList(DataEntity ...data) { public static List<DataEntity> findList(DataEntity ...data) {
QueryBuilder<DataEntity> query = newQuery(); QueryBuilder<DataEntity> query = newQuery();
...@@ -52,7 +53,7 @@ public abstract class ObjectBox<T> { ...@@ -52,7 +53,7 @@ public abstract class ObjectBox<T> {
return query.build().find(); return query.build().find();
} }
public static 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());
if (null != entity) { if (null != entity) {
...@@ -63,11 +64,16 @@ public abstract class ObjectBox<T> { ...@@ -63,11 +64,16 @@ public abstract class ObjectBox<T> {
} }
} }
public static void delete(long... ids) { public static synchronized void delete(long... ids) {
getDataBox().remove(ids); getDataBox().remove(ids);
} }
public static void delete(DataEntity... data) { public static synchronized void delete(DataEntity... data) {
getDataBox().remove(data); for (DataEntity datum : data) {
List<DataEntity> byNames = findByNames(datum.getName());
for (DataEntity byName : byNames) {
delete(byName.getId());
}
}
} }
} }
...@@ -27,6 +27,7 @@ import com.polysoft.nafmii.webview.WebviewHandler; ...@@ -27,6 +27,7 @@ import com.polysoft.nafmii.webview.WebviewHandler;
import com.polysoft.nafmii.webview.WebviewLoadListener; import com.polysoft.nafmii.webview.WebviewLoadListener;
import com.polysoft.nafmii.webview.X5WebviewUtils; import com.polysoft.nafmii.webview.X5WebviewUtils;
import com.tencent.smtt.sdk.WebView; import com.tencent.smtt.sdk.WebView;
import com.wang.avi.AVLoadingIndicatorView;
import com.whaty.nafmii.R; import com.whaty.nafmii.R;
import java.io.File; import java.io.File;
...@@ -36,6 +37,7 @@ public class WebViewFragment extends Fragment implements WebviewLoadListener { ...@@ -36,6 +37,7 @@ public class WebViewFragment extends Fragment implements WebviewLoadListener {
protected WebView mWebview; protected WebView mWebview;
private ViewGroup mWebviewLayout; private ViewGroup mWebviewLayout;
private AVLoadingIndicatorView mLoading;
private WebviewHandler mWebviewHandler; private WebviewHandler mWebviewHandler;
private ValueCallback<Uri[]> filePathCallback; private ValueCallback<Uri[]> filePathCallback;
...@@ -58,6 +60,7 @@ public class WebViewFragment extends Fragment implements WebviewLoadListener { ...@@ -58,6 +60,7 @@ public class WebViewFragment extends Fragment implements WebviewLoadListener {
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
this.mWebviewLayout = view.findViewById(R.id.webview_layout); this.mWebviewLayout = view.findViewById(R.id.webview_layout);
this.mLoading = view.findViewById(R.id.webview_loading);
this.initWebView(); this.initWebView();
} }
...@@ -76,7 +79,9 @@ public class WebViewFragment extends Fragment implements WebviewLoadListener { ...@@ -76,7 +79,9 @@ public class WebViewFragment extends Fragment implements WebviewLoadListener {
@Override @Override
public void onWebviewLoad(int type, Object param) { public void onWebviewLoad(int type, Object param) {
if (type == WebviewLoadListener.TYPE_FINISH) {
this.mLoading.hide();
}
} }
@Override @Override
......
...@@ -48,14 +48,16 @@ public class ModuleUrlHandle { ...@@ -48,14 +48,16 @@ public class ModuleUrlHandle {
private String getInputUrl(ModulesEnum module) { private String getInputUrl(ModulesEnum module) {
Intent intent = activity.getIntent(); Intent intent = activity.getIntent();
if (module == ModulesEnum.HOME || module == ModulesEnum.MEMBER || module == ModulesEnum.MY) { if (module == ModulesEnum.HOME || module == ModulesEnum.MEMBER || module == ModulesEnum.MY) {
String urlStr = intent.getStringExtra(ModulesEnum.HOME.name); // String urlStr = intent.getStringExtra(ModulesEnum.HOME.name);
if (TextUtils.isEmpty(urlStr)) { // if (TextUtils.isEmpty(urlStr)) {
return null; // return null;
} // }
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://192.168.137.1:8080/"+System.currentTimeMillis() + module.webUrl;
} }
return intent.getStringExtra(ModulesEnum.HOME.name); return intent.getStringExtra(module.name);
} }
public interface IModuleHandle { public interface IModuleHandle {
......
...@@ -38,6 +38,9 @@ public class JPushMgr { ...@@ -38,6 +38,9 @@ public class JPushMgr {
} }
public static void deleteAlias() { public static void deleteAlias() {
JPushInterface.deleteAlias(CtxUtils.getApplication(), 100); String millis = String.valueOf(System.currentTimeMillis());
String val = millis.substring(millis.length() - 5, millis.length());
int code = 0 - Integer.parseInt(val);
JPushInterface.deleteAlias(CtxUtils.getApplication(), code);
} }
} }
...@@ -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 java.util.HashMap;
import java.util.Map;
import cn.jpush.android.api.CmdMessage; import cn.jpush.android.api.CmdMessage;
import cn.jpush.android.api.CustomMessage; import cn.jpush.android.api.CustomMessage;
import cn.jpush.android.api.JPushInterface; import cn.jpush.android.api.JPushInterface;
...@@ -15,12 +18,13 @@ public class JPushReceiver extends JPushMessageReceiver { ...@@ -15,12 +18,13 @@ public class JPushReceiver extends JPushMessageReceiver {
private static final String TAG = "PushMessageReceiver"; private static final String TAG = "PushMessageReceiver";
private Map<String, String> aliasStatusMap = new HashMap<>();
// private static Map<String, >
@Override @Override
public void onMessage(Context context, CustomMessage customMessage) { public void onMessage(Context context, CustomMessage customMessage) {
Log.e(TAG, "[onMessage] " + customMessage); Log.e(TAG, "[onMessage] " + customMessage);
Intent intent = new Intent("com.jiguang.demo.message");
intent.putExtra("msg", customMessage.message);
context.sendBroadcast(intent);
} }
@Override @Override
...@@ -74,8 +78,6 @@ public class JPushReceiver extends JPushMessageReceiver { ...@@ -74,8 +78,6 @@ public class JPushReceiver extends JPushMessageReceiver {
@Override @Override
public void onRegister(Context context, String registrationId) { public void onRegister(Context context, String registrationId) {
Log.e(TAG, "[onRegister] " + registrationId); Log.e(TAG, "[onRegister] " + registrationId);
Intent intent = new Intent("com.jiguang.demo.register");
context.sendBroadcast(intent);
} }
@Override @Override
...@@ -104,6 +106,12 @@ public class JPushReceiver extends JPushMessageReceiver { ...@@ -104,6 +106,12 @@ public class JPushReceiver extends JPushMessageReceiver {
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) { public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
super.onAliasOperatorResult(context, jPushMessage); super.onAliasOperatorResult(context, jPushMessage);
Log.d(TAG, "onAliasOperatorResult: " + jPushMessage.toString()); Log.d(TAG, "onAliasOperatorResult: " + jPushMessage.toString());
String alias = jPushMessage.getAlias();
int errorCode = jPushMessage.getErrorCode();
if (errorCode == 0) {
aliasStatusMap.clear();
aliasStatusMap.put(alias, "1");
}
} }
// //
// @Override // @Override
......
...@@ -62,7 +62,7 @@ public class IntentUtils { ...@@ -62,7 +62,7 @@ public class IntentUtils {
public static void toHomeActivity(Activity activity) { public static void toHomeActivity(Activity activity) {
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
startActivity(activity, InputUrlActivity.class); startActivity(activity, HomeActivity.class);
} else { } else {
startActivity(activity, HomeActivity.class); startActivity(activity, HomeActivity.class);
} }
......
...@@ -18,6 +18,7 @@ import com.polysoft.nafmii.database.entity.DataEntity; ...@@ -18,6 +18,7 @@ import com.polysoft.nafmii.database.entity.DataEntity;
import com.polysoft.nafmii.enums.DatabaseEnum; 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.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;
...@@ -126,7 +127,15 @@ public class NativeApi { ...@@ -126,7 +127,15 @@ public class NativeApi {
} }
DataEntity[] arrays = list.toArray(new DataEntity[]{}); DataEntity[] arrays = list.toArray(new DataEntity[]{});
if (DatabaseEnum.GET.name.equals(type)) { if (DatabaseEnum.GET.name.equals(type)) {
js.success(ObjectBox.findList(arrays)); List<DataEntity> findList = ObjectBox.findList(arrays);
List<Map<String, Object>> result = new ArrayList<>();
for (DataEntity entity : findList) {
Map<String, Object> item = new HashMap<>();
item.put("name", entity.getName());
item.put("value", JSONObject.parse(entity.getValue()));
result.add(item);
}
js.success(result);
return; return;
} }
if (DatabaseEnum.SAVE.name.equals(type)) { if (DatabaseEnum.SAVE.name.equals(type)) {
...@@ -156,6 +165,17 @@ public class NativeApi { ...@@ -156,6 +165,17 @@ public class NativeApi {
} }
@JavascriptInterface @JavascriptInterface
public void nativeDownload(String params) {
new JsInterfaceHandler(handler).parse(params, (data, js) -> {
String url = data.getString("url");
// OkhttpApi.doDownload(url, );
js.success(null);
});
}
@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) -> {
......
...@@ -33,6 +33,7 @@ public class InputUrlActivity extends AppCompatActivity { ...@@ -33,6 +33,7 @@ public class InputUrlActivity extends AppCompatActivity {
private void init() { private void init() {
EditText input = findViewById(R.id.input_url); EditText input = findViewById(R.id.input_url);
input.setText(SpUtils.getString(KEY_URL, "")); input.setText(SpUtils.getString(KEY_URL, ""));
input.setText("http://192.168.137.1:8080");
String channel = SpUtils.getString(KEY_CHANNEL, ""); String channel = SpUtils.getString(KEY_CHANNEL, "");
RadioButton button1 = findViewById(R.id.input_channel_1); RadioButton button1 = findViewById(R.id.input_channel_1);
......
...@@ -7,6 +7,8 @@ import androidx.annotation.NonNull; ...@@ -7,6 +7,8 @@ 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;
...@@ -19,6 +21,8 @@ import com.polysoft.nafmii.viewmodel.AdvertisementViewModel; ...@@ -19,6 +21,8 @@ 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 {
...@@ -53,6 +57,13 @@ public class MainActivity extends BaseActivity { ...@@ -53,6 +57,13 @@ 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);
} }
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
...@@ -26,4 +27,18 @@ ...@@ -26,4 +27,18 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"></LinearLayout> app:layout_constraintTop_toTopOf="parent"></LinearLayout>
<com.wang.avi.AVLoadingIndicatorView
android:id="@+id/webview_loading"
style="@style/AVLoadingIndicatorView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
app:indicatorColor="#4880ff"
app:indicatorName="BallSpinFadeLoaderIndicator"
app:layout_constraintBottom_toBottomOf="@+id/webview_layout"
app:layout_constraintEnd_toEndOf="@+id/webview_layout"
app:layout_constraintStart_toStartOf="@+id/webview_layout"
app:layout_constraintTop_toTopOf="@+id/webview_layout"
tools:ignore="MissingConstraints" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file \ No newline at end of file

1.37 MB | W: | H:

1.22 MB | W: | H:

app/src/main/res/mipmap-mdpi/splash1.png
app/src/main/res/mipmap-mdpi/splash1.png
app/src/main/res/mipmap-mdpi/splash1.png
app/src/main/res/mipmap-mdpi/splash1.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!