diff --git a/base/src/main/java/com/web/base/MainActivity2.java b/base/src/main/java/com/web/base/MainActivity2.java
index ff155e0..22c43e2 100644
--- a/base/src/main/java/com/web/base/MainActivity2.java
+++ b/base/src/main/java/com/web/base/MainActivity2.java
@@ -77,6 +77,7 @@ public class MainActivity2 extends AppCompatActivity {
TextView tvErrorMsg;
LinearLayout layoutError;
ImageView show_top_v;
+ private ImageView showTopV1;
ImageView menu_iv;
private ImageView helpIv;
private LinearLayout showTopLy;
@@ -226,6 +227,7 @@ public class MainActivity2 extends AppCompatActivity {
// setopHeight();
findViewById(R.id.back_iv).setOnClickListener(view -> onBackPressed());
+
floatingActionButton = findViewById(R.id.bt_menu);
otherApp = findViewById(R.id.bt_otherapp);
ivotherApp = findViewById(R.id.iv_otherApp);
@@ -334,6 +336,20 @@ public class MainActivity2 extends AppCompatActivity {
showTopLy.setBackgroundResource(drawableId);
}
+ /**
+ * 显示圆角还是 原样显示
+ * @param isRound
+ */
+ public void setImageView(boolean isRound){
+ if(isRound){
+ show_top_v.setVisibility(View.VISIBLE);
+ showTopV1.setVisibility(View.GONE);
+ }else{
+ show_top_v.setVisibility(View.GONE);
+ showTopV1.setVisibility(View.VISIBLE);
+ }
+ }
+
//跳转通知列表
private void notifyclick() {
startActivity(new Intent(this, NotifyListActivity.class));
@@ -757,6 +773,8 @@ public class MainActivity2 extends AppCompatActivity {
topVvvv = (View) findViewById(R.id.top_vvvv);
webView = findViewById(R.id.webview);
show_top_v = findViewById(R.id.show_top_v);
+
+ showTopV1 = (ImageView) findViewById(R.id.show_top_v1);
showTopLy = findViewById(R.id.show_top_ly);
videoContainer = (FrameLayout) findViewById(R.id.videoContainer);
backIv = (ImageView) findViewById(R.id.back_iv);
diff --git a/base/src/main/res/layout/activity_main2.xml b/base/src/main/res/layout/activity_main2.xml
index 4acf22b..1e3ef13 100644
--- a/base/src/main/res/layout/activity_main2.xml
+++ b/base/src/main/res/layout/activity_main2.xml
@@ -351,6 +351,14 @@
app:ease_border_color="#EEEEEE"
app:ease_border_width="1px"
app:es_shape_type="round" />
+
+
+
{
@@ -44,10 +45,8 @@ public class MainActivity2 extends com.web.base.MainActivity2 {
try {
PackageManager packageManager = getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0);
- String StringversionName = packageInfo.versionName; // 版本号
int versionCode = packageInfo.versionCode; // 版本码
// 在这里可以使用versionName和versionCode进行相关的操作
-// Log.d("VersionInfo", "VersionName: " + versionName + ", VersionCode: " + versionCode);
return versionCode;
} catch (PackageManager.NameNotFoundException e) {
return 0;
diff --git a/ppn88/src/main/java/com/web/ppn88/MainActivity2.java b/ppn88/src/main/java/com/web/ppn88/MainActivity2.java
index 05e4897..3ad62a9 100644
--- a/ppn88/src/main/java/com/web/ppn88/MainActivity2.java
+++ b/ppn88/src/main/java/com/web/ppn88/MainActivity2.java
@@ -29,6 +29,7 @@ public class MainActivity2 extends com.web.base.MainActivity2 {
super.onCreate(savedInstanceState);
//用于修改大背景渐变色 不设置 大背景就是 windows_color 的颜色
setBackDrawables(R.drawable.big_bg);
+// setImageView(false);
//订阅主题
FirebaseMessaging.getInstance().subscribeToTopic("demo")
.addOnCompleteListener(task -> {
diff --git a/rezeki44/google-services.json b/rezeki44/google-services.json
new file mode 100644
index 0000000..99d8d06
--- /dev/null
+++ b/rezeki44/google-services.json
@@ -0,0 +1,29 @@
+{
+ "project_info": {
+ "project_number": "413469506209",
+ "project_id": "rezeki44-b8ba7",
+ "storage_bucket": "rezeki44-b8ba7.firebasestorage.app"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:413469506209:android:81d0fccf7d2332d579cee0",
+ "android_client_info": {
+ "package_name": "com.web.rezeki44"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyAxUDW_LcGV1fITp1Ros4n20NpnCVIu-gM"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": []
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/rezeki44/libs/tbs_sdk_thirdapp_v4.3.0.386_44286_20230210.jar b/rezeki44/libs/tbs_sdk_thirdapp_v4.3.0.386_44286_20230210.jar
new file mode 100644
index 0000000..465ea1b
Binary files /dev/null and b/rezeki44/libs/tbs_sdk_thirdapp_v4.3.0.386_44286_20230210.jar differ
diff --git a/rezeki44/src/androidTest/java/Tptogiar/calculcator/ExampleInstrumentedTest.java b/rezeki44/src/androidTest/java/Tptogiar/calculcator/ExampleInstrumentedTest.java
new file mode 100644
index 0000000..44b9f39
--- /dev/null
+++ b/rezeki44/src/androidTest/java/Tptogiar/calculcator/ExampleInstrumentedTest.java
@@ -0,0 +1,26 @@
+package Tptogiar.calculcator;
+
+import android.content.Context;
+
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see Testing documentation
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+ @Test
+ public void useAppContext() {
+ // Context of the app under test.
+ Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+ assertEquals("Tptogiar.calculcator", appContext.getPackageName());
+ }
+}
\ No newline at end of file
diff --git a/rezeki44/src/main/AndroidManifest.xml b/rezeki44/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..014c917
--- /dev/null
+++ b/rezeki44/src/main/AndroidManifest.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/java/com/web/rezeki44/MainActivity2.java b/rezeki44/src/main/java/com/web/rezeki44/MainActivity2.java
new file mode 100644
index 0000000..d30e1a7
--- /dev/null
+++ b/rezeki44/src/main/java/com/web/rezeki44/MainActivity2.java
@@ -0,0 +1,59 @@
+package com.web.rezeki44;
+
+
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+
+import com.google.android.gms.tasks.OnCompleteListener;
+import com.google.android.gms.tasks.Task;
+import com.google.firebase.messaging.FirebaseMessaging;
+import com.web.base.MainActivity;
+
+public class MainActivity2 extends com.web.base.MainActivity2 {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ userId = 119;
+ saveInt(MainActivity2.this,"user_code",userId);
+ saveInt(MainActivity2.this,"version_code",getVersion());
+ MainActivity.saveString(this, "base_url","https://rezeki44.com/");
+ //网页的底部NavigationBar颜色
+ MainActivity.saveString(this, "style_color", "#014701");
+ //页面的大背景颜色
+ MainActivity.saveString(this, "windows_color", "#026200");
+ //任务栏的文字颜色 0 黑 1白 默认黑
+ saveInt(MainActivity2.this,"is_white",1);
+ super.onCreate(savedInstanceState);
+ //用于修改大背景渐变色 不设置 大背景就是 windows_color 的颜色
+ setBackDrawables(R.drawable.big_bg);
+// setImageView(false);
+ //订阅主题
+ FirebaseMessaging.getInstance().subscribeToTopic("demo")
+ .addOnCompleteListener(task -> {
+ String msg = "Subscribed";
+ if (!task.isSuccessful()) {
+ msg = "Subscribe failed";
+ }
+
+ });
+ }
+
+ public int getVersion(){
+ try {
+ PackageManager packageManager = getPackageManager();
+ PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0);
+ String StringversionName = packageInfo.versionName; // 版本号
+ int versionCode = packageInfo.versionCode; // 版本码
+ // 在这里可以使用versionName和versionCode进行相关的操作
+// Log.d("VersionInfo", "VersionName: " + versionName + ", VersionCode: " + versionCode);
+ return versionCode;
+ } catch (PackageManager.NameNotFoundException e) {
+ return 0;
+ }
+
+ }
+
+}
diff --git a/rezeki44/src/main/java/com/web/rezeki44/MyFirebaseMessageingService.java b/rezeki44/src/main/java/com/web/rezeki44/MyFirebaseMessageingService.java
new file mode 100644
index 0000000..c4ddd31
--- /dev/null
+++ b/rezeki44/src/main/java/com/web/rezeki44/MyFirebaseMessageingService.java
@@ -0,0 +1,171 @@
+package com.web.rezeki44;
+
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Build;
+
+import androidx.annotation.NonNull;
+import androidx.core.app.NotificationCompat;
+
+import com.google.firebase.messaging.FirebaseMessagingService;
+import com.google.firebase.messaging.RemoteMessage;
+import com.google.gson.Gson;
+import com.web.base.GsonUtils;
+import com.web.base.MessageInfo;
+
+import java.util.Map;
+import java.util.Random;
+
+public class MyFirebaseMessageingService extends FirebaseMessagingService {
+
+ public MyFirebaseMessageingService() {
+ }
+
+ @Override
+ public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
+ super.onMessageReceived(remoteMessage);
+ Map serviceData = remoteMessage.getData(); //后台推送数据
+ if (serviceData != null && serviceData.containsKey("message")) {
+ String value = serviceData.get("message");
+ Gson gson = new Gson();
+ MessageInfo messageInfo = gson.fromJson(value, MessageInfo.class);
+ showNotification(messageInfo);
+// if (remoteMessage.getNotification() != null) {
+// showNotification(remoteMessage.getNotification().getTitle(), remoteMessage.getNotification().getBody());
+// }
+ } else {
+ //收到通知 创建notify
+ if (remoteMessage.getNotification() != null) {
+ showNotification(remoteMessage.getNotification().getTitle(), remoteMessage.getNotification().getBody());
+ }
+ }
+
+
+ }
+
+ private void showNotification(MessageInfo messageInfo) {
+ Intent notifyIntent = new Intent(this, com.web.base.MainActivity2.class);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CUPCAKE) {
+ ComponentName launchComponent = null;
+ launchComponent = getApplication()
+ .getPackageManager()
+ .getLaunchIntentForPackage(getApplication().getPackageName())
+ .getComponent();
+ notifyIntent.setComponent(launchComponent);
+ }
+
+ notifyIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+ notifyIntent.setAction(Intent.ACTION_VIEW);
+ notifyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 必须
+ notifyIntent.putExtra("message", messageInfo);
+
+ PendingIntent pendingIntent = PendingIntent.getActivity(this, new Random().nextInt(10000), notifyIntent, PendingIntent.FLAG_IMMUTABLE);
+
+// Intent notifyIntent = new Intent(this, MainActivity2.class);
+// notifyIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+// // notifyIntent.putExtra("message", messageInfo);
+// notifyIntent.setAction(Intent.ACTION_VIEW);
+// notifyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 必须
+// PendingIntent pendingIntent;
+// pendingIntent = PendingIntent.getActivity
+// (this, 0, notifyIntent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE);
+
+ NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ NotificationChannel channelwinway = null;
+ NotificationCompat.Builder notificationBuilder = null;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ channelwinway = new NotificationChannel(getString(com.web.base.R.string.app_name), "notify", NotificationManager.IMPORTANCE_DEFAULT);
+ channelwinway.enableLights(true);
+ channelwinway.enableVibration(true);
+ notificationManager.createNotificationChannel(channelwinway);
+ notificationBuilder = new NotificationCompat.Builder(this, channelwinway.getId())
+ .setSmallIcon(R.mipmap.app_logo)
+ .setContentTitle(messageInfo.getTitle())
+ .setContentText(messageInfo.getContent())
+ .setAutoCancel(true)
+ .setContentIntent(pendingIntent);
+ } else {
+ notificationBuilder = new NotificationCompat.Builder(this, getString(com.web.base.R.string.app_name))
+ .setSmallIcon(R.mipmap.app_logo)
+ .setContentTitle(messageInfo.getTitle())
+ .setContentText(messageInfo.getContent())
+ .setAutoCancel(true)
+ .setContentIntent(pendingIntent);
+ }
+ notificationManager.notify(0, notificationBuilder.build());
+ }
+
+ private void showNotification(String title, String body) {
+ Intent notifyIntent = new Intent(this, MainActivity2.class);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CUPCAKE) {
+ ComponentName launchComponent = null;
+ launchComponent = getApplication()
+ .getPackageManager()
+ .getLaunchIntentForPackage(getApplication().getPackageName())
+ .getComponent();
+ notifyIntent.setComponent(launchComponent);
+ }
+ notifyIntent.putExtra("message", body);
+ notifyIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+ notifyIntent.setAction(Intent.ACTION_VIEW);
+ notifyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 必须
+
+
+ PendingIntent pendingIntent = PendingIntent.getActivity(this, new Random().nextInt(10000), notifyIntent, PendingIntent.FLAG_IMMUTABLE);
+ NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ NotificationChannel channelwinway = null;
+ NotificationCompat.Builder notificationBuilder = null;
+ MessageInfo messageInfo = GsonUtils.getObjFromJSON(body, MessageInfo.class);
+ if (messageInfo != null) {
+ body = messageInfo.getContent();
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ channelwinway = new NotificationChannel(getString(com.web.base.R.string.app_name), "notify", NotificationManager.IMPORTANCE_DEFAULT);
+ channelwinway.enableLights(true);
+ channelwinway.enableVibration(true);
+ notificationManager.createNotificationChannel(channelwinway);
+ notificationBuilder = new NotificationCompat.Builder(this, channelwinway.getId())
+ .setSmallIcon(R.mipmap.app_logo)
+ .setContentTitle(title)
+ .setContentText(body)
+ .setAutoCancel(true)
+ .setContentIntent(pendingIntent);
+ } else {
+ notificationBuilder = new NotificationCompat.Builder(this, getString(com.web.base.R.string.app_name))
+ .setSmallIcon(R.mipmap.app_logo)
+ .setContentTitle(title)
+ .setContentText(body)
+ .setAutoCancel(true)
+ .setContentIntent(pendingIntent);
+ }
+ notificationManager.notify(0, notificationBuilder.build());
+ //存储数据
+ // saveNotifyMessage(body);
+ }
+
+
+// public void saveNotifyMessage(String body) {
+// MessageInfo messageInfo = GsonUtils.getObjFromJSON(body, MessageInfo.class);
+// String savenotify = Utils.get(getApplication(),ApiService.savenotify,"");
+// if(messageInfo!=null){
+// if(TextUtils.isEmpty(savenotify)){
+// GsonUtils.getListFromJSON(savenotify,)
+// }
+// }
+// String jsonString = GsonUtils.beanToJSONString(chatMessageBeans);
+// }
+//
+// /**
+// * @param key 要设置的key
+// */
+// public static void set(Context activity, String key, String is) {
+// SharedPreferences nameSetting = getConfigShared(activity);
+// SharedPreferences.Editor namePref = nameSetting.edit();
+// namePref.putString(key, is);
+// namePref.commit();
+// }
+}
diff --git a/rezeki44/src/main/java/com/web/rezeki44/WebApplication.java b/rezeki44/src/main/java/com/web/rezeki44/WebApplication.java
new file mode 100644
index 0000000..d5f00c6
--- /dev/null
+++ b/rezeki44/src/main/java/com/web/rezeki44/WebApplication.java
@@ -0,0 +1,37 @@
+package com.web.rezeki44;
+
+import android.app.Application;
+import android.content.Context;
+
+import com.tencent.smtt.export.external.TbsCoreSettings;
+import com.tencent.smtt.sdk.QbSdk;
+
+import java.util.HashMap;
+
+public class WebApplication extends Application {
+
+
+ public static Context application;
+ @Override
+ public void onCreate() {
+ super.onCreate();
+// 设置开启优化方案
+ application = this;
+ HashMap map = new HashMap();
+ map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER, true);
+ map.put(TbsCoreSettings.TBS_SETTINGS_USE_DEXLOADER_SERVICE, true);
+ QbSdk.initTbsSettings(map);
+ QbSdk.initX5Environment(this, new QbSdk.PreInitCallback() {
+ @Override
+ public void onCoreInitFinished() {
+
+ }
+
+ @Override
+ public void onViewInitFinished(boolean b) {
+
+ }
+ });
+ QbSdk.setDownloadWithoutWifi(true);
+ }
+}
diff --git a/rezeki44/src/main/res/drawable-anydpi/ic_action_back.xml b/rezeki44/src/main/res/drawable-anydpi/ic_action_back.xml
new file mode 100644
index 0000000..013ab07
--- /dev/null
+++ b/rezeki44/src/main/res/drawable-anydpi/ic_action_back.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/rezeki44/src/main/res/drawable-hdpi/ic_action_back.png b/rezeki44/src/main/res/drawable-hdpi/ic_action_back.png
new file mode 100644
index 0000000..1560c04
Binary files /dev/null and b/rezeki44/src/main/res/drawable-hdpi/ic_action_back.png differ
diff --git a/rezeki44/src/main/res/drawable-mdpi/ic_action_back.png b/rezeki44/src/main/res/drawable-mdpi/ic_action_back.png
new file mode 100644
index 0000000..d5841d2
Binary files /dev/null and b/rezeki44/src/main/res/drawable-mdpi/ic_action_back.png differ
diff --git a/rezeki44/src/main/res/drawable-v24/ic_launcher_foreground.xml b/rezeki44/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/rezeki44/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/drawable-xhdpi/ic_action_back.png b/rezeki44/src/main/res/drawable-xhdpi/ic_action_back.png
new file mode 100644
index 0000000..5c14e41
Binary files /dev/null and b/rezeki44/src/main/res/drawable-xhdpi/ic_action_back.png differ
diff --git a/rezeki44/src/main/res/drawable-xxhdpi/ic_action_back.png b/rezeki44/src/main/res/drawable-xxhdpi/ic_action_back.png
new file mode 100644
index 0000000..0516d08
Binary files /dev/null and b/rezeki44/src/main/res/drawable-xxhdpi/ic_action_back.png differ
diff --git a/rezeki44/src/main/res/drawable/big_bg.xml b/rezeki44/src/main/res/drawable/big_bg.xml
new file mode 100644
index 0000000..5fccc70
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/big_bg.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/drawable/ic_launcher_background.xml b/rezeki44/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/rezeki44/src/main/res/drawable/input_bg.xml b/rezeki44/src/main/res/drawable/input_bg.xml
new file mode 100644
index 0000000..4e895aa
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/input_bg.xml
@@ -0,0 +1,20 @@
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
diff --git a/rezeki44/src/main/res/drawable/pass_word_bg.xml b/rezeki44/src/main/res/drawable/pass_word_bg.xml
new file mode 100644
index 0000000..2724e60
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/pass_word_bg.xml
@@ -0,0 +1,28 @@
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
diff --git a/rezeki44/src/main/res/drawable/pass_word_bg1.xml b/rezeki44/src/main/res/drawable/pass_word_bg1.xml
new file mode 100644
index 0000000..d10d780
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/pass_word_bg1.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/drawable/pass_word_bg2.xml b/rezeki44/src/main/res/drawable/pass_word_bg2.xml
new file mode 100644
index 0000000..916d99c
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/pass_word_bg2.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/drawable/shape_btn_bg.xml b/rezeki44/src/main/res/drawable/shape_btn_bg.xml
new file mode 100644
index 0000000..af87a0d
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/shape_btn_bg.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/drawable/shape_dialog_bg2.xml b/rezeki44/src/main/res/drawable/shape_dialog_bg2.xml
new file mode 100644
index 0000000..7837a42
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/shape_dialog_bg2.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/drawable/shape_dialog_bg3.xml b/rezeki44/src/main/res/drawable/shape_dialog_bg3.xml
new file mode 100644
index 0000000..ca0a18d
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/shape_dialog_bg3.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/drawable/shape_dialog_bg_new.xml b/rezeki44/src/main/res/drawable/shape_dialog_bg_new.xml
new file mode 100644
index 0000000..e96d4e0
--- /dev/null
+++ b/rezeki44/src/main/res/drawable/shape_dialog_bg_new.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/rezeki44/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/rezeki44/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/rezeki44/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/rezeki44/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/mipmap-hdpi/ic_empty.png b/rezeki44/src/main/res/mipmap-hdpi/ic_empty.png
new file mode 100644
index 0000000..72473d6
Binary files /dev/null and b/rezeki44/src/main/res/mipmap-hdpi/ic_empty.png differ
diff --git a/rezeki44/src/main/res/mipmap-hdpi/ic_pull_down.png b/rezeki44/src/main/res/mipmap-hdpi/ic_pull_down.png
new file mode 100644
index 0000000..7dc0ec3
Binary files /dev/null and b/rezeki44/src/main/res/mipmap-hdpi/ic_pull_down.png differ
diff --git a/rezeki44/src/main/res/mipmap-xhdpi/ic_close.png b/rezeki44/src/main/res/mipmap-xhdpi/ic_close.png
new file mode 100644
index 0000000..c0b0127
Binary files /dev/null and b/rezeki44/src/main/res/mipmap-xhdpi/ic_close.png differ
diff --git a/rezeki44/src/main/res/mipmap-xhdpi/ic_menu.png b/rezeki44/src/main/res/mipmap-xhdpi/ic_menu.png
new file mode 100644
index 0000000..2b55ec5
Binary files /dev/null and b/rezeki44/src/main/res/mipmap-xhdpi/ic_menu.png differ
diff --git a/rezeki44/src/main/res/mipmap-xxhdpi/app_logo.jpg b/rezeki44/src/main/res/mipmap-xxhdpi/app_logo.jpg
new file mode 100644
index 0000000..b3a66b8
Binary files /dev/null and b/rezeki44/src/main/res/mipmap-xxhdpi/app_logo.jpg differ
diff --git a/rezeki44/src/main/res/values-en/strings.xml b/rezeki44/src/main/res/values-en/strings.xml
new file mode 100644
index 0000000..6116337
--- /dev/null
+++ b/rezeki44/src/main/res/values-en/strings.xml
@@ -0,0 +1,52 @@
+
+ REZEKI44
+ Please Set Your Password
+ Cancel
+ Sure
+ New Version Update
+ Next Update
+ Update Immediately
+ Click to close notification
+ Click to re-download
+ Download failed
+ Click to install
+ Download completed
+ Downloading...
+ Version update
+ Downloading game
+ Getting download data...
+ Version update
+ Downloading game
+ Need to turn on mobile phone notification permission
+ Exit
+ Setting
+ Tip
+ Please enter the invitation code
+ My invitation code:
+ Superior invitation code:
+ Total number of invites:
+ App download link:
+ Share
+ Check Invitation Records
+ Invitation Records
+ Total number of invitees: %d
+ No Data
+ Withdrawal Record
+ Withdrawal Application
+ Edit Bank Card Information
+ 60
+ Name:
+ Please enter the bank card name
+ Bank card account:
+ Please enter the bank card account
+ Country:
+ Please select a country
+ Bank Name:
+ Please select a bank name
+ Note: Please enter the country code before selecting the bank name!
+ Balance: %s
+ Total Earnings: %s
+ Amount: %s
+ Please enter the withdrawal amount
+ Withdrawal application has been submitted
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/values-night/themes.xml b/rezeki44/src/main/res/values-night/themes.xml
new file mode 100644
index 0000000..3b0f1a2
--- /dev/null
+++ b/rezeki44/src/main/res/values-night/themes.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/values/colors.xml b/rezeki44/src/main/res/values/colors.xml
new file mode 100644
index 0000000..7895913
--- /dev/null
+++ b/rezeki44/src/main/res/values/colors.xml
@@ -0,0 +1,18 @@
+
+
+ #FFFFFF
+ #FFFFFF
+ #FFFFFF
+ #FF03DAC5
+ #FF018786
+ #FF000000
+ #FFFFFFFF
+ #EF4723
+ #FFFFFFFF
+
+ #2C2C2E
+ #FFA722
+ #434343
+ #BCBCBC
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/values/strings.xml b/rezeki44/src/main/res/values/strings.xml
new file mode 100644
index 0000000..98174c2
--- /dev/null
+++ b/rezeki44/src/main/res/values/strings.xml
@@ -0,0 +1,74 @@
+
+ REZEKI44
+ 请输入6位密码
+ 取消
+ 确定
+ 版本更新
+ 下次更新
+ 立即更新
+ 点击关闭通知
+ 点击重新下载
+ 下载失败
+ 点击安装
+ 下载完成
+ 正在下载…
+ 版本更新
+ 下载游戏中
+ 版本更新
+ 下载游戏中
+ 正在获取下载数据…
+ 需要打开手机通知权限
+ 退出
+ 设置
+ 提示
+ 请输入邀请码
+ 我的邀请码:
+ 上级邀请码:
+ 总邀请人数:
+ 邀请您下载:
+ 分享
+ 查看邀请记录
+ 邀请记录
+ 总邀请人数: %d
+ 暂无数据
+ 提现记录
+ 提现申请
+ 编辑银行卡信息
+ 86
+ 持卡人姓名:
+ 请输入持卡人姓名
+ 国家地区:
+ 请选择国家地区
+ 开户行名称:
+ 请选择开户行名称
+ 银行户口:
+ 请输入银行卡户口
+ (注:请先输入国家区号再选择开户行名称!)
+ 余额: %s
+ 总收益: %s
+ 金额: %s
+ 请输入提现金额
+ 提现申请已提交
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/values/themes.xml b/rezeki44/src/main/res/values/themes.xml
new file mode 100644
index 0000000..e1c80ec
--- /dev/null
+++ b/rezeki44/src/main/res/values/themes.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/xml/app_updater_paths.xml b/rezeki44/src/main/res/xml/app_updater_paths.xml
new file mode 100644
index 0000000..1254450
--- /dev/null
+++ b/rezeki44/src/main/res/xml/app_updater_paths.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/xml/network_security_config.xml b/rezeki44/src/main/res/xml/network_security_config.xml
new file mode 100644
index 0000000..dca93c0
--- /dev/null
+++ b/rezeki44/src/main/res/xml/network_security_config.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/main/res/xml/provider_paths.xml b/rezeki44/src/main/res/xml/provider_paths.xml
new file mode 100644
index 0000000..c9a897a
--- /dev/null
+++ b/rezeki44/src/main/res/xml/provider_paths.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rezeki44/src/test/java/Tptogiar/calculcator/ExampleUnitTest.java b/rezeki44/src/test/java/Tptogiar/calculcator/ExampleUnitTest.java
new file mode 100644
index 0000000..3259554
--- /dev/null
+++ b/rezeki44/src/test/java/Tptogiar/calculcator/ExampleUnitTest.java
@@ -0,0 +1,35 @@
+package Tptogiar.calculcator;
+
+import org.junit.Test;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() {
+ assertEquals(4, 2 + 2);
+ }
+
+ @Test
+ public void TestPattern(){
+//
+ Pattern compile = Pattern.compile( "^(\\-|\\+)?\\d+(\\.\\d+)?$");
+ String a="+45.5";
+ boolean matches = compile.matcher(a).matches();
+ System.out.println(matches);
+ String result = compile.matcher(a).replaceAll("");
+ System.out.println(result);
+
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 7ead7eb..20735fa 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -39,4 +39,6 @@ include ':speednp'
include ':play33new'
include ':nak99'
include ':mk99pgk'
-include ':ppn88'
\ No newline at end of file
+include ':ppn88'
+include ':we1win'
+include ':rezeki44'
\ No newline at end of file
diff --git a/we1win/google-services.json b/we1win/google-services.json
new file mode 100644
index 0000000..085f067
--- /dev/null
+++ b/we1win/google-services.json
@@ -0,0 +1,29 @@
+{
+ "project_info": {
+ "project_number": "562120518046",
+ "project_id": "we1win-392c8",
+ "storage_bucket": "we1win-392c8.firebasestorage.app"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:562120518046:android:fdf1ac78a915bdd2a68e8f",
+ "android_client_info": {
+ "package_name": "com.web.we1win"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyChPS8r3RDUG7ZZwMrtGgLjlJglx2qLonQ"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": []
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/we1win/libs/tbs_sdk_thirdapp_v4.3.0.386_44286_20230210.jar b/we1win/libs/tbs_sdk_thirdapp_v4.3.0.386_44286_20230210.jar
new file mode 100644
index 0000000..465ea1b
Binary files /dev/null and b/we1win/libs/tbs_sdk_thirdapp_v4.3.0.386_44286_20230210.jar differ
diff --git a/we1win/src/androidTest/java/Tptogiar/calculcator/ExampleInstrumentedTest.java b/we1win/src/androidTest/java/Tptogiar/calculcator/ExampleInstrumentedTest.java
new file mode 100644
index 0000000..44b9f39
--- /dev/null
+++ b/we1win/src/androidTest/java/Tptogiar/calculcator/ExampleInstrumentedTest.java
@@ -0,0 +1,26 @@
+package Tptogiar.calculcator;
+
+import android.content.Context;
+
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see Testing documentation
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+ @Test
+ public void useAppContext() {
+ // Context of the app under test.
+ Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+ assertEquals("Tptogiar.calculcator", appContext.getPackageName());
+ }
+}
\ No newline at end of file
diff --git a/we1win/src/main/AndroidManifest.xml b/we1win/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..a36fef7
--- /dev/null
+++ b/we1win/src/main/AndroidManifest.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/java/com/web/we1win/MainActivity2.java b/we1win/src/main/java/com/web/we1win/MainActivity2.java
new file mode 100644
index 0000000..dc9ac4a
--- /dev/null
+++ b/we1win/src/main/java/com/web/we1win/MainActivity2.java
@@ -0,0 +1,59 @@
+package com.web.we1win;
+
+
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+
+import com.google.android.gms.tasks.OnCompleteListener;
+import com.google.android.gms.tasks.Task;
+import com.google.firebase.messaging.FirebaseMessaging;
+import com.web.base.MainActivity;
+
+public class MainActivity2 extends com.web.base.MainActivity2 {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ userId = 120;
+ saveInt(MainActivity2.this,"user_code",userId);
+ saveInt(MainActivity2.this,"version_code",getVersion());
+ MainActivity.saveString(this, "base_url","https://we1winau.com/");
+ //网页的底部NavigationBar颜色
+ MainActivity.saveString(this, "style_color", "#1e1c44");
+ //页面的大背景颜色
+ MainActivity.saveString(this, "windows_color", "#FFFFFF");
+ //任务栏的文字颜色 0 黑 1白 默认黑
+ saveInt(MainActivity2.this,"is_white",0);
+ super.onCreate(savedInstanceState);
+ //用于修改大背景渐变色 不设置 大背景就是 windows_color 的颜色
+ setBackDrawables(R.drawable.big_bg);
+// setImageView(tr);
+ //订阅主题
+ FirebaseMessaging.getInstance().subscribeToTopic("demo")
+ .addOnCompleteListener(task -> {
+ String msg = "Subscribed";
+ if (!task.isSuccessful()) {
+ msg = "Subscribe failed";
+ }
+
+ });
+ }
+
+ public int getVersion(){
+ try {
+ PackageManager packageManager = getPackageManager();
+ PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0);
+ String StringversionName = packageInfo.versionName; // 版本号
+ int versionCode = packageInfo.versionCode; // 版本码
+ // 在这里可以使用versionName和versionCode进行相关的操作
+// Log.d("VersionInfo", "VersionName: " + versionName + ", VersionCode: " + versionCode);
+ return versionCode;
+ } catch (PackageManager.NameNotFoundException e) {
+ return 0;
+ }
+
+ }
+
+}
diff --git a/we1win/src/main/java/com/web/we1win/MyFirebaseMessageingService.java b/we1win/src/main/java/com/web/we1win/MyFirebaseMessageingService.java
new file mode 100644
index 0000000..59ac35d
--- /dev/null
+++ b/we1win/src/main/java/com/web/we1win/MyFirebaseMessageingService.java
@@ -0,0 +1,171 @@
+package com.web.we1win;
+
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Build;
+
+import androidx.annotation.NonNull;
+import androidx.core.app.NotificationCompat;
+
+import com.google.firebase.messaging.FirebaseMessagingService;
+import com.google.firebase.messaging.RemoteMessage;
+import com.google.gson.Gson;
+import com.web.base.GsonUtils;
+import com.web.base.MessageInfo;
+
+import java.util.Map;
+import java.util.Random;
+
+public class MyFirebaseMessageingService extends FirebaseMessagingService {
+
+ public MyFirebaseMessageingService() {
+ }
+
+ @Override
+ public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
+ super.onMessageReceived(remoteMessage);
+ Map serviceData = remoteMessage.getData(); //后台推送数据
+ if (serviceData != null && serviceData.containsKey("message")) {
+ String value = serviceData.get("message");
+ Gson gson = new Gson();
+ MessageInfo messageInfo = gson.fromJson(value, MessageInfo.class);
+ showNotification(messageInfo);
+// if (remoteMessage.getNotification() != null) {
+// showNotification(remoteMessage.getNotification().getTitle(), remoteMessage.getNotification().getBody());
+// }
+ } else {
+ //收到通知 创建notify
+ if (remoteMessage.getNotification() != null) {
+ showNotification(remoteMessage.getNotification().getTitle(), remoteMessage.getNotification().getBody());
+ }
+ }
+
+
+ }
+
+ private void showNotification(MessageInfo messageInfo) {
+ Intent notifyIntent = new Intent(this, com.web.base.MainActivity2.class);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CUPCAKE) {
+ ComponentName launchComponent = null;
+ launchComponent = getApplication()
+ .getPackageManager()
+ .getLaunchIntentForPackage(getApplication().getPackageName())
+ .getComponent();
+ notifyIntent.setComponent(launchComponent);
+ }
+
+ notifyIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+ notifyIntent.setAction(Intent.ACTION_VIEW);
+ notifyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 必须
+ notifyIntent.putExtra("message", messageInfo);
+
+ PendingIntent pendingIntent = PendingIntent.getActivity(this, new Random().nextInt(10000), notifyIntent, PendingIntent.FLAG_IMMUTABLE);
+
+// Intent notifyIntent = new Intent(this, MainActivity2.class);
+// notifyIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+// // notifyIntent.putExtra("message", messageInfo);
+// notifyIntent.setAction(Intent.ACTION_VIEW);
+// notifyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 必须
+// PendingIntent pendingIntent;
+// pendingIntent = PendingIntent.getActivity
+// (this, 0, notifyIntent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE);
+
+ NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ NotificationChannel channelwinway = null;
+ NotificationCompat.Builder notificationBuilder = null;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ channelwinway = new NotificationChannel(getString(com.web.base.R.string.app_name), "notify", NotificationManager.IMPORTANCE_DEFAULT);
+ channelwinway.enableLights(true);
+ channelwinway.enableVibration(true);
+ notificationManager.createNotificationChannel(channelwinway);
+ notificationBuilder = new NotificationCompat.Builder(this, channelwinway.getId())
+ .setSmallIcon(R.mipmap.app_logo)
+ .setContentTitle(messageInfo.getTitle())
+ .setContentText(messageInfo.getContent())
+ .setAutoCancel(true)
+ .setContentIntent(pendingIntent);
+ } else {
+ notificationBuilder = new NotificationCompat.Builder(this, getString(com.web.base.R.string.app_name))
+ .setSmallIcon(R.mipmap.app_logo)
+ .setContentTitle(messageInfo.getTitle())
+ .setContentText(messageInfo.getContent())
+ .setAutoCancel(true)
+ .setContentIntent(pendingIntent);
+ }
+ notificationManager.notify(0, notificationBuilder.build());
+ }
+
+ private void showNotification(String title, String body) {
+ Intent notifyIntent = new Intent(this, MainActivity2.class);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CUPCAKE) {
+ ComponentName launchComponent = null;
+ launchComponent = getApplication()
+ .getPackageManager()
+ .getLaunchIntentForPackage(getApplication().getPackageName())
+ .getComponent();
+ notifyIntent.setComponent(launchComponent);
+ }
+ notifyIntent.putExtra("message", body);
+ notifyIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+ notifyIntent.setAction(Intent.ACTION_VIEW);
+ notifyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 必须
+
+
+ PendingIntent pendingIntent = PendingIntent.getActivity(this, new Random().nextInt(10000), notifyIntent, PendingIntent.FLAG_IMMUTABLE);
+ NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ NotificationChannel channelwinway = null;
+ NotificationCompat.Builder notificationBuilder = null;
+ MessageInfo messageInfo = GsonUtils.getObjFromJSON(body, MessageInfo.class);
+ if (messageInfo != null) {
+ body = messageInfo.getContent();
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ channelwinway = new NotificationChannel(getString(com.web.base.R.string.app_name), "notify", NotificationManager.IMPORTANCE_DEFAULT);
+ channelwinway.enableLights(true);
+ channelwinway.enableVibration(true);
+ notificationManager.createNotificationChannel(channelwinway);
+ notificationBuilder = new NotificationCompat.Builder(this, channelwinway.getId())
+ .setSmallIcon(R.mipmap.app_logo)
+ .setContentTitle(title)
+ .setContentText(body)
+ .setAutoCancel(true)
+ .setContentIntent(pendingIntent);
+ } else {
+ notificationBuilder = new NotificationCompat.Builder(this, getString(com.web.base.R.string.app_name))
+ .setSmallIcon(R.mipmap.app_logo)
+ .setContentTitle(title)
+ .setContentText(body)
+ .setAutoCancel(true)
+ .setContentIntent(pendingIntent);
+ }
+ notificationManager.notify(0, notificationBuilder.build());
+ //存储数据
+ // saveNotifyMessage(body);
+ }
+
+
+// public void saveNotifyMessage(String body) {
+// MessageInfo messageInfo = GsonUtils.getObjFromJSON(body, MessageInfo.class);
+// String savenotify = Utils.get(getApplication(),ApiService.savenotify,"");
+// if(messageInfo!=null){
+// if(TextUtils.isEmpty(savenotify)){
+// GsonUtils.getListFromJSON(savenotify,)
+// }
+// }
+// String jsonString = GsonUtils.beanToJSONString(chatMessageBeans);
+// }
+//
+// /**
+// * @param key 要设置的key
+// */
+// public static void set(Context activity, String key, String is) {
+// SharedPreferences nameSetting = getConfigShared(activity);
+// SharedPreferences.Editor namePref = nameSetting.edit();
+// namePref.putString(key, is);
+// namePref.commit();
+// }
+}
diff --git a/we1win/src/main/java/com/web/we1win/WebApplication.java b/we1win/src/main/java/com/web/we1win/WebApplication.java
new file mode 100644
index 0000000..b332aaf
--- /dev/null
+++ b/we1win/src/main/java/com/web/we1win/WebApplication.java
@@ -0,0 +1,37 @@
+package com.web.we1win;
+
+import android.app.Application;
+import android.content.Context;
+
+import com.tencent.smtt.export.external.TbsCoreSettings;
+import com.tencent.smtt.sdk.QbSdk;
+
+import java.util.HashMap;
+
+public class WebApplication extends Application {
+
+
+ public static Context application;
+ @Override
+ public void onCreate() {
+ super.onCreate();
+// 设置开启优化方案
+ application = this;
+ HashMap map = new HashMap();
+ map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER, true);
+ map.put(TbsCoreSettings.TBS_SETTINGS_USE_DEXLOADER_SERVICE, true);
+ QbSdk.initTbsSettings(map);
+ QbSdk.initX5Environment(this, new QbSdk.PreInitCallback() {
+ @Override
+ public void onCoreInitFinished() {
+
+ }
+
+ @Override
+ public void onViewInitFinished(boolean b) {
+
+ }
+ });
+ QbSdk.setDownloadWithoutWifi(true);
+ }
+}
diff --git a/we1win/src/main/res/drawable-anydpi/ic_action_back.xml b/we1win/src/main/res/drawable-anydpi/ic_action_back.xml
new file mode 100644
index 0000000..013ab07
--- /dev/null
+++ b/we1win/src/main/res/drawable-anydpi/ic_action_back.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/we1win/src/main/res/drawable-hdpi/ic_action_back.png b/we1win/src/main/res/drawable-hdpi/ic_action_back.png
new file mode 100644
index 0000000..1560c04
Binary files /dev/null and b/we1win/src/main/res/drawable-hdpi/ic_action_back.png differ
diff --git a/we1win/src/main/res/drawable-mdpi/ic_action_back.png b/we1win/src/main/res/drawable-mdpi/ic_action_back.png
new file mode 100644
index 0000000..d5841d2
Binary files /dev/null and b/we1win/src/main/res/drawable-mdpi/ic_action_back.png differ
diff --git a/we1win/src/main/res/drawable-v24/ic_launcher_foreground.xml b/we1win/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/we1win/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/drawable-xhdpi/ic_action_back.png b/we1win/src/main/res/drawable-xhdpi/ic_action_back.png
new file mode 100644
index 0000000..5c14e41
Binary files /dev/null and b/we1win/src/main/res/drawable-xhdpi/ic_action_back.png differ
diff --git a/we1win/src/main/res/drawable-xxhdpi/ic_action_back.png b/we1win/src/main/res/drawable-xxhdpi/ic_action_back.png
new file mode 100644
index 0000000..0516d08
Binary files /dev/null and b/we1win/src/main/res/drawable-xxhdpi/ic_action_back.png differ
diff --git a/we1win/src/main/res/drawable/big_bg.xml b/we1win/src/main/res/drawable/big_bg.xml
new file mode 100644
index 0000000..aa115d9
--- /dev/null
+++ b/we1win/src/main/res/drawable/big_bg.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/drawable/ic_launcher_background.xml b/we1win/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/we1win/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/we1win/src/main/res/drawable/input_bg.xml b/we1win/src/main/res/drawable/input_bg.xml
new file mode 100644
index 0000000..4e895aa
--- /dev/null
+++ b/we1win/src/main/res/drawable/input_bg.xml
@@ -0,0 +1,20 @@
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
diff --git a/we1win/src/main/res/drawable/pass_word_bg.xml b/we1win/src/main/res/drawable/pass_word_bg.xml
new file mode 100644
index 0000000..2724e60
--- /dev/null
+++ b/we1win/src/main/res/drawable/pass_word_bg.xml
@@ -0,0 +1,28 @@
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
diff --git a/we1win/src/main/res/drawable/pass_word_bg1.xml b/we1win/src/main/res/drawable/pass_word_bg1.xml
new file mode 100644
index 0000000..d10d780
--- /dev/null
+++ b/we1win/src/main/res/drawable/pass_word_bg1.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/drawable/pass_word_bg2.xml b/we1win/src/main/res/drawable/pass_word_bg2.xml
new file mode 100644
index 0000000..916d99c
--- /dev/null
+++ b/we1win/src/main/res/drawable/pass_word_bg2.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/drawable/shape_btn_bg.xml b/we1win/src/main/res/drawable/shape_btn_bg.xml
new file mode 100644
index 0000000..af87a0d
--- /dev/null
+++ b/we1win/src/main/res/drawable/shape_btn_bg.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/drawable/shape_dialog_bg2.xml b/we1win/src/main/res/drawable/shape_dialog_bg2.xml
new file mode 100644
index 0000000..7837a42
--- /dev/null
+++ b/we1win/src/main/res/drawable/shape_dialog_bg2.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/drawable/shape_dialog_bg3.xml b/we1win/src/main/res/drawable/shape_dialog_bg3.xml
new file mode 100644
index 0000000..ca0a18d
--- /dev/null
+++ b/we1win/src/main/res/drawable/shape_dialog_bg3.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/drawable/shape_dialog_bg_new.xml b/we1win/src/main/res/drawable/shape_dialog_bg_new.xml
new file mode 100644
index 0000000..e96d4e0
--- /dev/null
+++ b/we1win/src/main/res/drawable/shape_dialog_bg_new.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/we1win/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/we1win/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/we1win/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/we1win/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/mipmap-hdpi/ic_empty.png b/we1win/src/main/res/mipmap-hdpi/ic_empty.png
new file mode 100644
index 0000000..72473d6
Binary files /dev/null and b/we1win/src/main/res/mipmap-hdpi/ic_empty.png differ
diff --git a/we1win/src/main/res/mipmap-hdpi/ic_pull_down.png b/we1win/src/main/res/mipmap-hdpi/ic_pull_down.png
new file mode 100644
index 0000000..7dc0ec3
Binary files /dev/null and b/we1win/src/main/res/mipmap-hdpi/ic_pull_down.png differ
diff --git a/we1win/src/main/res/mipmap-xhdpi/ic_close.png b/we1win/src/main/res/mipmap-xhdpi/ic_close.png
new file mode 100644
index 0000000..c0b0127
Binary files /dev/null and b/we1win/src/main/res/mipmap-xhdpi/ic_close.png differ
diff --git a/we1win/src/main/res/mipmap-xhdpi/ic_menu.png b/we1win/src/main/res/mipmap-xhdpi/ic_menu.png
new file mode 100644
index 0000000..2b55ec5
Binary files /dev/null and b/we1win/src/main/res/mipmap-xhdpi/ic_menu.png differ
diff --git a/we1win/src/main/res/mipmap-xxhdpi/app_logo.jpg b/we1win/src/main/res/mipmap-xxhdpi/app_logo.jpg
new file mode 100644
index 0000000..9527097
Binary files /dev/null and b/we1win/src/main/res/mipmap-xxhdpi/app_logo.jpg differ
diff --git a/we1win/src/main/res/values-en/strings.xml b/we1win/src/main/res/values-en/strings.xml
new file mode 100644
index 0000000..4ee21ee
--- /dev/null
+++ b/we1win/src/main/res/values-en/strings.xml
@@ -0,0 +1,52 @@
+
+ WE1WIN
+ Please Set Your Password
+ Cancel
+ Sure
+ New Version Update
+ Next Update
+ Update Immediately
+ Click to close notification
+ Click to re-download
+ Download failed
+ Click to install
+ Download completed
+ Downloading...
+ Version update
+ Downloading game
+ Getting download data...
+ Version update
+ Downloading game
+ Need to turn on mobile phone notification permission
+ Exit
+ Setting
+ Tip
+ Please enter the invitation code
+ My invitation code:
+ Superior invitation code:
+ Total number of invites:
+ App download link:
+ Share
+ Check Invitation Records
+ Invitation Records
+ Total number of invitees: %d
+ No Data
+ Withdrawal Record
+ Withdrawal Application
+ Edit Bank Card Information
+ 60
+ Name:
+ Please enter the bank card name
+ Bank card account:
+ Please enter the bank card account
+ Country:
+ Please select a country
+ Bank Name:
+ Please select a bank name
+ Note: Please enter the country code before selecting the bank name!
+ Balance: %s
+ Total Earnings: %s
+ Amount: %s
+ Please enter the withdrawal amount
+ Withdrawal application has been submitted
+
\ No newline at end of file
diff --git a/we1win/src/main/res/values-night/themes.xml b/we1win/src/main/res/values-night/themes.xml
new file mode 100644
index 0000000..3b0f1a2
--- /dev/null
+++ b/we1win/src/main/res/values-night/themes.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/values/colors.xml b/we1win/src/main/res/values/colors.xml
new file mode 100644
index 0000000..7895913
--- /dev/null
+++ b/we1win/src/main/res/values/colors.xml
@@ -0,0 +1,18 @@
+
+
+ #FFFFFF
+ #FFFFFF
+ #FFFFFF
+ #FF03DAC5
+ #FF018786
+ #FF000000
+ #FFFFFFFF
+ #EF4723
+ #FFFFFFFF
+
+ #2C2C2E
+ #FFA722
+ #434343
+ #BCBCBC
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/values/strings.xml b/we1win/src/main/res/values/strings.xml
new file mode 100644
index 0000000..5716b01
--- /dev/null
+++ b/we1win/src/main/res/values/strings.xml
@@ -0,0 +1,74 @@
+
+ WE1WIN
+ 请输入6位密码
+ 取消
+ 确定
+ 版本更新
+ 下次更新
+ 立即更新
+ 点击关闭通知
+ 点击重新下载
+ 下载失败
+ 点击安装
+ 下载完成
+ 正在下载…
+ 版本更新
+ 下载游戏中
+ 版本更新
+ 下载游戏中
+ 正在获取下载数据…
+ 需要打开手机通知权限
+ 退出
+ 设置
+ 提示
+ 请输入邀请码
+ 我的邀请码:
+ 上级邀请码:
+ 总邀请人数:
+ 邀请您下载:
+ 分享
+ 查看邀请记录
+ 邀请记录
+ 总邀请人数: %d
+ 暂无数据
+ 提现记录
+ 提现申请
+ 编辑银行卡信息
+ 86
+ 持卡人姓名:
+ 请输入持卡人姓名
+ 国家地区:
+ 请选择国家地区
+ 开户行名称:
+ 请选择开户行名称
+ 银行户口:
+ 请输入银行卡户口
+ (注:请先输入国家区号再选择开户行名称!)
+ 余额: %s
+ 总收益: %s
+ 金额: %s
+ 请输入提现金额
+ 提现申请已提交
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/values/themes.xml b/we1win/src/main/res/values/themes.xml
new file mode 100644
index 0000000..e1c80ec
--- /dev/null
+++ b/we1win/src/main/res/values/themes.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/xml/app_updater_paths.xml b/we1win/src/main/res/xml/app_updater_paths.xml
new file mode 100644
index 0000000..1254450
--- /dev/null
+++ b/we1win/src/main/res/xml/app_updater_paths.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/xml/network_security_config.xml b/we1win/src/main/res/xml/network_security_config.xml
new file mode 100644
index 0000000..dca93c0
--- /dev/null
+++ b/we1win/src/main/res/xml/network_security_config.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/main/res/xml/provider_paths.xml b/we1win/src/main/res/xml/provider_paths.xml
new file mode 100644
index 0000000..c9a897a
--- /dev/null
+++ b/we1win/src/main/res/xml/provider_paths.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/we1win/src/test/java/Tptogiar/calculcator/ExampleUnitTest.java b/we1win/src/test/java/Tptogiar/calculcator/ExampleUnitTest.java
new file mode 100644
index 0000000..3259554
--- /dev/null
+++ b/we1win/src/test/java/Tptogiar/calculcator/ExampleUnitTest.java
@@ -0,0 +1,35 @@
+package Tptogiar.calculcator;
+
+import org.junit.Test;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() {
+ assertEquals(4, 2 + 2);
+ }
+
+ @Test
+ public void TestPattern(){
+//
+ Pattern compile = Pattern.compile( "^(\\-|\\+)?\\d+(\\.\\d+)?$");
+ String a="+45.5";
+ boolean matches = compile.matcher(a).matches();
+ System.out.println(matches);
+ String result = compile.matcher(a).replaceAll("");
+ System.out.println(result);
+
+
+ }
+
+
+}
\ No newline at end of file