+
+
+
+
+ Privacy Policy
+
+
+
+Privacy Policy
+Date: August 15, 2024
+
+We provide this Privacy Policy to help you understand how we collect, use, and disclose
+ information, including what you may provide to us or that we obtain from our products and
+ services. We treat your privacy very seriously. Your privacy is important to us.
+
+Information Collection and Use
+For a better experience, while using our Service, we may require you to provide us with certain
+ personally identifiable information, such as users' name, address, location, pictures, etc. The
+ information that we request will be retained on your device and is not collected or retained by
+ us in any way and used as described in this privacy policy.
+The app does use third-party services that may collect information used to identify you.
+Please refer to the privacy policy of the third-party service provider used by the
+ application:
+
+ - Google Play Services
+ - Google Analytics for Firebase
+ - Firebase Crashlytics
+ - Unity
+ - AppLovin
+ - Pangle
+ - Mintegral
+ - Bigo
+ - Ironsource
+ - Vungle
+
+
+Log Data
+We want to inform you that whenever you use our Service, in case of an error in the app, we
+ collect data and information (through third-party products) on your phone called Log Data. This
+ Log Data may include information such as your device Internet Protocol (“IP”) address, device
+ name, operating system version, the configuration of the app when utilizing our Service, the
+ time and date of your use of the Service, and other statistics.
+
+Cookies
+Cookies are files with a small amount of data that are commonly used as anonymous unique
+ identifiers. These are sent to your browser from the websites that you visit and are stored on
+ your device's internal memory.
+This Service does not use these “cookies” explicitly. However, the app may use third-party code
+ and libraries that use “cookies” to collect information and improve their services. You have the
+ option to either accept or refuse these cookies and know when a cookie is being sent to your
+ device. If you choose to refuse our cookies, you may not be able to use some portions of this
+ Service.
+
+Service Providers
+We may employ third-party companies and individuals due to the following reasons:
+
+ - To facilitate our Service
+ - To provide the Service on our behalf
+ - To perform Service-related services
+ - To assist us in analyzing how our Service is used
+
+We want to inform users of this Service that these third parties have access to their Personal
+ Information. The reason is to perform the tasks assigned to them on our behalf. However, they
+ are obligated not to disclose or use the information for any other purpose.
+
+Security
+We value your trust in providing us your Personal Information, thus we are striving to use
+ commercially acceptable means of protecting it. But remember that no method of transmission over
+ the internet, or method of electronic storage is 100% secure and reliable, and we cannot
+ guarantee its absolute security.
+
+Links to Other Sites
+This Service may contain links to other sites. If you click on a third-party link, you will be
+ directed to that site. Note that these external sites are not operated by us. Therefore, we
+ strongly advise you to review the Privacy Policy of these websites. We have no control over and
+ assume no responsibility for the content, privacy policies, or practices of any third-party
+ sites or services.
+
+Children’s Privacy
+These Services do not address anyone under the age of 13. We do not knowingly collect personally
+ identifiable information from children under 13 years of age. In the case we discover that a
+ child under 13 has provided us with personal information, we will immediately delete this from
+ our servers. If you are a parent or guardian and you are aware that your child has provided us
+ with personal information, please contact us so that we will be able to take the necessary
+ actions.
+
+Changes to This Privacy Policy
+We may update our Privacy Policy from time to time. Thus, you are advised to review this page
+ periodically for any changes. We will notify you of any changes by posting the new Privacy
+ Policy on this page.
+
+Privacy Questions
+We may update the Privacy Policy from time to time. When we change the policy in a material way,
+ a notice will be posted on our website along with the updated Privacy Policy.
+If you have any questions or concerns about our Privacy Policy or data processing, please contact
+ us: PopRenajm@gmail.com.
+
+
diff --git a/app/src/main/java/com/exquisite/KeyboardSkin.java b/app/src/main/java/com/exquisite/KeyboardSkin.java
index de3432c..ac0e058 100644
--- a/app/src/main/java/com/exquisite/KeyboardSkin.java
+++ b/app/src/main/java/com/exquisite/KeyboardSkin.java
@@ -1,30 +1,21 @@
package com.exquisite;
-import static android.content.ContentValues.TAG;
-
import android.app.Application;
import android.content.Context;
-import android.content.Intent;
+import android.content.SharedPreferences;
import android.util.Log;
-import android.widget.Toast;
-
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.anythink.core.api.ATSDK;
import com.anythink.core.api.NetTrafficeCallback;
-import com.anythink.debug.api.ATDebuggerUITest;
import com.anythink.interstitial.api.ATInterstitial;
import com.exquisite.data.Mydata;
-import com.exquisite.mintegral.MBrManager;
+import com.exquisite.data.MydataBase;
import com.exquisite.tools.Mytools;
-import com.mbridge.msdk.MBridgeSDK;
-import com.mbridge.msdk.out.MBridgeSDKFactory;
-import com.mbridge.msdk.out.SDKInitStatusListener;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import java.util.Map;
public class KeyboardSkin extends Application {
public static KeyboardSkin app;
@@ -34,13 +25,68 @@ public class KeyboardSkin extends Application {
private static final String TOP_KEY = "a95ed90a717c7bcff42cd908db3f05664";
private static final String TOP_DEBUG = "8a341b6aa5cc3fa453d7741f01a534c1d5dd766a";
public static List ads;
+ public static final String VERSION_NAME = "1.0.0";
+ public static final String DB_Name = "keyboard_database";
+ public static final String Table_Name = "keyboard_table";
+ public static final int DB_Version = 1;
+ private static boolean insert;
+ private SharedPreferences sp;
+ private SharedPreferences.Editor editor;
+ public static final String PRE_NAME = "Mypre";
+ public static final String PRE_KEY = "isinsert";
+ public static final String PRE_KEY_INIT = "isinit";
+ public static final String TAG = "zzj";
+ public static List alllist = new ArrayList<>();
+ public static List lovelist = new ArrayList<>();
+ public static List coollist = new ArrayList<>();
+ public static List cutelist = new ArrayList<>();
+ public static List neonlist = new ArrayList<>();
+ public static List festivallist = new ArrayList<>();
+ public static List gravitylist = new ArrayList<>();
+ public static List aestheticlist = new ArrayList<>();
+ public static List superlist = new ArrayList<>();
+
+ public static List getLovelist() {
+ return lovelist;
+ }
+
+ public static List getCoollist() {
+ return coollist;
+ }
+
+ public static List getCutelist() {
+ return cutelist;
+ }
+
+ public static List getNeonlist() {
+ return neonlist;
+ }
+
+ public static List getFestivallist() {
+ return festivallist;
+ }
+
+ public static List getGravitylist() {
+ return gravitylist;
+ }
+
+ public static List getAestheticlist() {
+ return aestheticlist;
+ }
+
+ public static List getSuperlist() {
+ return superlist;
+ }
+
+ public static int a;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
app = this;
-
+ a = 0;
+// Log.e("zzj","---a app is---"+a);
ATSDK.checkIsEuTraffic(this, new NetTrafficeCallback() {
@Override
@@ -59,9 +105,44 @@ public class KeyboardSkin extends Application {
});
initSdk();
+ myDataArrayList = Mytools.parseJsonToList("keyboard.json");
+ sp = getSharedPreferences(PRE_NAME, MODE_PRIVATE);
+ insert = sp.getBoolean(PRE_KEY, false);
+ if (!insert) {
- List myData = Mytools.parseJsonToList("keyboard.json");
- myDataArrayList = myData;
+ Mytools.runIO(new Runnable() {
+ @Override
+ public void run() {
+ insert = true;
+ MydataBase.getInstance().myDAO().insertAll(myDataArrayList);
+ editor = sp.edit();
+ editor.putBoolean(PRE_KEY, insert);
+ editor.apply();
+ }
+ });
+ }
+
+ initData();
+
+
+ }
+
+ private void initData() {
+ Mytools.runIO(new Runnable() {
+ @Override
+ public void run() {
+ alllist = MydataBase.getInstance().myDAO().getAlldata();
+ lovelist = MydataBase.getInstance().myDAO().getotherlist("love");
+ coollist = MydataBase.getInstance().myDAO().getotherlist("cool");
+ cutelist = MydataBase.getInstance().myDAO().getotherlist("cute");
+ neonlist = MydataBase.getInstance().myDAO().getotherlist("neon");
+ festivallist = MydataBase.getInstance().myDAO().getotherlist("festival");
+ gravitylist = MydataBase.getInstance().myDAO().getotherlist("gravity");
+ aestheticlist = MydataBase.getInstance().myDAO().getotherlist("aesthetic");
+ superlist = MydataBase.getInstance().myDAO().getotherlist("super theme");
+
+ }
+ });
}
private void initSdk() {
diff --git a/app/src/main/java/com/exquisite/activity/AllActivity.java b/app/src/main/java/com/exquisite/activity/AllActivity.java
index 9f98ecc..2b3fc87 100644
--- a/app/src/main/java/com/exquisite/activity/AllActivity.java
+++ b/app/src/main/java/com/exquisite/activity/AllActivity.java
@@ -10,7 +10,6 @@ import androidx.fragment.app.FragmentTransaction;
import android.annotation.SuppressLint;
import android.os.Bundle;
-import android.util.Log;
import android.view.View;
import android.widget.LinearLayout;
@@ -20,11 +19,8 @@ import com.anythink.interstitial.api.ATInterstitial;
import com.exquisite.KeyboardSkin;
import com.exquisite.callback.Adcallback;
import com.exquisite.fragment.AllFragment;
-import com.exquisite.demo08.R;
-import com.exquisite.mintegral.ADBean;
-import com.exquisite.mintegral.MBrManager;
-import com.exquisite.mintegral.Mylistener;
-import com.exquisite.mintegral.onAdStatusListener;
+import com.exquisite.R;
+
import com.exquisite.tools.Mytools;
import java.util.List;
@@ -56,6 +52,9 @@ public class AllActivity extends AppCompatActivity implements View.OnClickListen
intEvent();
}
+
+
+
private void intEvent() {
back.setOnClickListener(this);
}
diff --git a/app/src/main/java/com/exquisite/activity/KeyBoardSettingsActivity.java b/app/src/main/java/com/exquisite/activity/KeyBoardSettingsActivity.java
index e92cc0a..fd56d88 100644
--- a/app/src/main/java/com/exquisite/activity/KeyBoardSettingsActivity.java
+++ b/app/src/main/java/com/exquisite/activity/KeyBoardSettingsActivity.java
@@ -20,13 +20,14 @@ import android.widget.LinearLayout;
import android.widget.Toast;
import com.exquisite.KeyboardSkin;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import com.exquisite.tools.Mytools;
public class KeyBoardSettingsActivity extends AppCompatActivity implements View.OnClickListener {
private static final InputMethodManager methodManager = (InputMethodManager) KeyboardSkin.app.getSystemService(Context.INPUT_METHOD_SERVICE);
private LinearLayout back, step1, step2;
private ImageView step1_image, step2_image;
+
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -55,14 +56,14 @@ public class KeyBoardSettingsActivity extends AppCompatActivity implements View.
}
private void intImage() {
- if (Mytools.isStep2()){
+ if (Mytools.isStep2()) {
step2_image.setVisibility(View.VISIBLE);
- }else {
+ } else {
step2_image.setVisibility(View.GONE);
}
- if (Mytools.isStep1()){
+ if (Mytools.isStep1()) {
step1_image.setVisibility(View.VISIBLE);
- }else {
+ } else {
step1_image.setVisibility(View.GONE);
}
}
@@ -101,6 +102,7 @@ public class KeyBoardSettingsActivity extends AppCompatActivity implements View.
break;
}
}
+
@Override
protected void onResume() {
super.onResume();
@@ -112,10 +114,10 @@ public class KeyBoardSettingsActivity extends AppCompatActivity implements View.
@Override
protected void onDestroy() {
super.onDestroy();
- if (Mytools.isStep1()&&Mytools.isStep2()){
- Toast.makeText(KeyBoardSettingsActivity.this,getString(R.string.text_step_successful),Toast.LENGTH_SHORT).show();
- }else {
- Toast.makeText(KeyBoardSettingsActivity.this,getString(R.string.text_step_failed),Toast.LENGTH_SHORT).show();
+ if (Mytools.isStep1() && Mytools.isStep2()) {
+ Toast.makeText(KeyBoardSettingsActivity.this, getString(R.string.text_step_successful), Toast.LENGTH_SHORT).show();
+ } else {
+ Toast.makeText(KeyBoardSettingsActivity.this, getString(R.string.text_step_failed), Toast.LENGTH_SHORT).show();
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/exquisite/activity/MainActivity.java b/app/src/main/java/com/exquisite/activity/MainActivity.java
index f66775d..611818e 100644
--- a/app/src/main/java/com/exquisite/activity/MainActivity.java
+++ b/app/src/main/java/com/exquisite/activity/MainActivity.java
@@ -1,6 +1,9 @@
package com.exquisite.activity;
+
import androidx.activity.EdgeToEdge;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
@@ -8,14 +11,49 @@ import androidx.core.view.WindowInsetsCompat;
import androidx.viewpager.widget.ViewPager;
import android.annotation.SuppressLint;
+import android.app.Dialog;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.graphics.Bitmap;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
+import android.provider.Settings;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.ImageView;
+import android.widget.Toast;
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.target.CustomTarget;
+import com.bumptech.glide.request.transition.Transition;
+import com.exquisite.KeyboardSkin;
+import com.exquisite.R;
import com.exquisite.adapter.PageAdapter;
-import com.exquisite.demo08.R;
+import com.exquisite.data.Mydata;
+import com.exquisite.data.MydataBase;
+import com.exquisite.data.StaticValue;
+import com.exquisite.tools.Mytools;
import com.google.android.material.tabs.TabLayout;
+import java.io.File;
+import java.util.List;
+
public class MainActivity extends AppCompatActivity {
private TabLayout tabLayout;
+ private Dialog toastDialog;
+ private Mydata otherdata;
+ private String unzipPath;
+ private Dialog dialog;
+ private BroadcastReceiver broadcastReceiver;
+ private static final InputMethodManager methodManager = (InputMethodManager) KeyboardSkin.app.getSystemService(Context.INPUT_METHOD_SERVICE);
@SuppressLint("MissingInflatedId")
@Override
@@ -28,14 +66,16 @@ public class MainActivity extends AppCompatActivity {
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
-
tabLayout = findViewById(R.id.main_tabLayout);
ViewPager viewPager = findViewById(R.id.main_viewpager);
PageAdapter adapter = new PageAdapter(getSupportFragmentManager());
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
- setmainTabIcons(tabLayout);
+ showDg();
+
+
+ setTabIcons(0);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
@@ -52,6 +92,182 @@ public class MainActivity extends AppCompatActivity {
});
}
+ private void showDg() {
+ dialog = new Dialog(this);
+ dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
+ dialog.setContentView(R.layout.dialog);
+ dialog.setCancelable(true);
+ dialog.getWindow().setGravity(Gravity.BOTTOM);
+ dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
+
+ WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
+ lp.copyFrom(dialog.getWindow().getAttributes());
+ lp.width = WindowManager.LayoutParams.MATCH_PARENT;
+ lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
+// dialog.setCanceledOnTouchOutside(false);
+ broadcastReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ updateDialogContent();
+ }
+ };
+ registerReceiver(broadcastReceiver, new IntentFilter(Intent.ACTION_INPUT_METHOD_CHANGED));
+
+ dialog.findViewById(R.id.step1).setOnClickListener(v -> {
+ Intent intent = new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS);
+ startActivity(intent);
+ });
+ dialog.findViewById(R.id.step2).setOnClickListener(v -> methodManager.showInputMethodPicker());
+ dialog.findViewById(R.id.setting_cancel).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideDg();
+ }
+ });
+ dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
+ @Override
+ public void onDismiss(DialogInterface dialog) {
+ Mytools.runIO(new Runnable() {
+ @Override
+ public void run() {
+ List list1 = MydataBase.getInstance().myDAO().getAlldata();
+ otherdata = list1.get(666);
+ if (toastDialog == null) {
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ showToastDg();
+ }
+ });
+
+ }
+ }
+ });
+ }
+ });
+ dialog.show();
+ dialog.getWindow().setAttributes(lp);
+
+ updateDialogContent();
+ }
+
+ private void hideDg() {
+ if (dialog != null && dialog.isShowing()) {
+ dialog.dismiss();
+ }
+ }
+
+ private void updateDialogContent() {
+ boolean step1 = Mytools.isStep1();
+ boolean step2 = Mytools.isStep2();
+ dialog.findViewById(R.id.step1).setSelected(step1);
+ dialog.findViewById(R.id.step2).setSelected(step2);
+ updateDialogImages();
+ }
+
+ private void updateDialogImages() {
+ if (Mytools.isStep2()) {
+ dialog.findViewById(R.id.step2_image).setVisibility(View.VISIBLE);
+ } else {
+ dialog.findViewById(R.id.step2_image).setVisibility(View.GONE);
+ }
+ if (Mytools.isStep1()) {
+ dialog.findViewById(R.id.step1_image).setVisibility(View.VISIBLE);
+ } else {
+ dialog.findViewById(R.id.step1_image).setVisibility(View.GONE);
+ }
+ }
+
+
+ private void showToastDg() {
+ toastDialog = new Dialog(this);
+ toastDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
+ toastDialog.setContentView(R.layout.toast_dialog);
+ toastDialog.setCancelable(true);
+// toastDialog.getWindow().setGravity(Gravity.BOTTOM);
+ toastDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
+
+ WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
+ lp.copyFrom(toastDialog.getWindow().getAttributes());
+ lp.width = WindowManager.LayoutParams.WRAP_CONTENT;
+ lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
+
+ ImageView toastImageView = toastDialog.findViewById(R.id.toast_dialog_image);
+ Glide.with(MainActivity.this)
+ .asBitmap()
+ .load(otherdata.getPreview())
+ .placeholder(R.mipmap.logo)
+ .into(new CustomTarget() {
+ @Override
+ public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition super Bitmap> transition) {
+ toastImageView.setImageBitmap(resource);
+ }
+
+ @Override
+ public void onLoadCleared(@Nullable Drawable placeholder) {
+
+ }
+ });
+
+ toastDialog.setCanceledOnTouchOutside(false);
+ toastDialog.findViewById(R.id.toast_dialog_cons).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ downLoad();
+ }
+ });
+ toastDialog.findViewById(R.id.toast_dialog_cancel).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+// if (toastDialog != null && toastDialog.isShowing()) {
+ toastDialog.dismiss();
+// }
+ }
+ });
+ File cacheDir = this.getCacheDir();
+ unzipPath = cacheDir + "/" + otherdata.getTitle();
+
+ if (toastDialog != null) {
+ toastDialog.show();
+ }
+
+ toastDialog.getWindow().setAttributes(lp);
+ }
+
+
+ private void downLoad() {
+ if (!Mytools.isStep1() || !Mytools.isStep2()) {
+// Toast.makeText(this, getString(R.string.text_hint), Toast.LENGTH_SHORT).show();
+ Intent intent = new Intent(this, KeyBoardSettingsActivity.class);
+ startActivity(intent);
+ } else {
+ Mytools.donwnZip(this, otherdata.getZipUrl(), (successful, resource) -> {
+ if (successful) {
+ Mytools.unZip(this, unzipPath, resource, (successful1, resDirPath) -> {
+ if (successful1) {
+ StaticValue.PATH = resDirPath;
+ otherdata.setDownloaded(true);
+ otherdata.setPath(resDirPath);
+ Mytools.runIO(new Runnable() {
+ @Override
+ public void run() {
+ MydataBase.getInstance().myDAO().update(otherdata);
+ }
+ });
+ showKey();
+ } else {
+ Toast.makeText(MainActivity.this, getString(R.string.text_zip_failed), Toast.LENGTH_SHORT).show();
+ }
+ });
+ } else {
+ Toast.makeText(MainActivity.this, getString(R.string.text_download_failed), Toast.LENGTH_SHORT).show();
+
+ }
+ });
+ }
+
+ }
+
private void setTabIcons(final int position) {
for (int i = 0; i < tabLayout.getTabCount(); i++) {
final TabLayout.Tab tab = tabLayout.getTabAt(i);
@@ -61,7 +277,10 @@ public class MainActivity extends AppCompatActivity {
tab.setIcon(position == 0 ? R.drawable.home_check : R.drawable.home_uncheck);
break;
case 1:
- tab.setIcon(position == 0 ? R.drawable.setting_uncheck : R.drawable.setting_check);
+ tab.setIcon(position == 1 ? R.drawable.like_check : R.drawable.like_uncheck);
+ break;
+ case 2:
+ tab.setIcon(position == 2 ? R.drawable.setting_check : R.drawable.setting_uncheck);
break;
default:
break;
@@ -70,21 +289,34 @@ public class MainActivity extends AppCompatActivity {
}
}
- private void setmainTabIcons(TabLayout tabLayout) {
- for (int i = 0; i < tabLayout.getTabCount(); i++) {
- TabLayout.Tab tab = tabLayout.getTabAt(i);
- if (tab != null) {
- switch (i) {
- case 0:
- tab.setIcon(R.drawable.home_check);
- break;
- case 1:
- tab.setIcon(R.drawable.setting_uncheck);
- break;
- default:
- break;
- }
+ private void showKey() {
+ Toast.makeText(MainActivity.this, getString(R.string.set_successful), Toast.LENGTH_SHORT).show();
+ Intent intent = new Intent(this, ShowKeyboardActivity.class);
+ intent.putExtra(StaticValue.KEY_ISshow, 1);
+ startActivity(intent);
+
+ }
+
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ updateDialogContent();
+// Log.e("zzj", "---a app get is---" + KeyboardSkin.a);
+ if (KeyboardSkin.a == 1) {
+ if (toastDialog != null) {
+ toastDialog.dismiss();
}
+
}
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (broadcastReceiver != null) {
+ unregisterReceiver(broadcastReceiver);
+ }
+ KeyboardSkin.a = 0;
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/exquisite/activity/PreviewActivity.java b/app/src/main/java/com/exquisite/activity/PreviewActivity.java
index 2bad127..80adefe 100644
--- a/app/src/main/java/com/exquisite/activity/PreviewActivity.java
+++ b/app/src/main/java/com/exquisite/activity/PreviewActivity.java
@@ -7,6 +7,7 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
+import androidx.lifecycle.Observer;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -15,7 +16,6 @@ import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -32,19 +32,17 @@ import com.exquisite.KeyboardSkin;
import com.exquisite.adapter.ThumAdapter;
import com.exquisite.callback.Adcallback;
-import com.exquisite.callback.DownloadCallback;
-import com.exquisite.callback.UnzipCallback;
+import com.exquisite.data.Mydata;
+import com.exquisite.data.MydataBase;
import com.exquisite.data.StaticValue;
-import com.exquisite.demo08.R;
-import com.exquisite.mintegral.ADBean;
-import com.exquisite.mintegral.MBrManager;
-import com.exquisite.mintegral.Mylistener;
-import com.exquisite.mintegral.onAdStatusListener;
+import com.exquisite.R;
+
import com.exquisite.tools.Mytools;
import com.exquisite.tools.SpaceItem;
import java.io.File;
-import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
public class PreviewActivity extends AppCompatActivity implements View.OnClickListener {
@@ -60,7 +58,13 @@ public class PreviewActivity extends AppCompatActivity implements View.OnClickLi
private ProgressBar progressBarDownload;
private List ads;
-
+ private ThumAdapter thumAdapter;
+ private ImageView like;
+ private Boolean islike = false;
+ private Mydata otherdata;
+ private TextView downloadText;
+ private ImageView downImage;
+ private List newList = new ArrayList<>();
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -80,14 +84,74 @@ public class PreviewActivity extends AppCompatActivity implements View.OnClickLi
imageView.setVisibility(View.GONE);
progressBarPreview.setVisibility(View.VISIBLE);
progressBarDownload.setVisibility(View.GONE);
+
SpaceItem spaceItem = new SpaceItem(10, 20, 10);
- previewrv.setAdapter(new ThumAdapter(this, KeyboardSkin.getMyDataArrayList()));
- previewrv.setLayoutManager(new GridLayoutManager(this, 2));
+ previewrv.setLayoutManager(new GridLayoutManager(PreviewActivity.this, 2));
previewrv.addItemDecoration(spaceItem);
+
+ Mytools.runIO(new Runnable() {
+ @Override
+ public void run() {
+ List mydata = MydataBase.getInstance().myDAO().getAlldata();
+ Collections.shuffle(mydata);
+ newList = mydata.subList(0, 10);
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ thumAdapter = new ThumAdapter(PreviewActivity.this, newList);
+ previewrv.setAdapter(thumAdapter);
+ }
+ });
+
+ }
+ });
+// MydataBase.getInstance().myDAO().getAll().observe(this, new Observer>() {
+// @Override
+// public void onChanged(List mydata) {
+//
+//
+//
+// }
+// });
+
Intent intent = getIntent();
preview = intent.getStringExtra(StaticValue.KEY_PRE);
name = intent.getStringExtra(StaticValue.KEY_NAME);
url = intent.getStringExtra(StaticValue.KEY_URL);
+
+ Mytools.runIO(new Runnable() {
+ @Override
+ public void run() {
+ List existingData = MydataBase.getInstance().myDAO().checklikelist(preview);
+ if (!existingData.isEmpty()) {
+ otherdata = existingData.get(0);
+ islike = otherdata.getIslike();
+ boolean isdown = otherdata.getDownloaded();
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ if (islike) {
+ like.setBackgroundResource(R.drawable.icon_like_check);
+ } else {
+ like.setBackgroundResource(R.drawable.icon_like_uncheck);
+ }
+ if (isdown) {
+ downloadText.setText(R.string.download_apply);
+ downImage.setVisibility(View.GONE);
+ }
+ String path = StaticValue.PATH;
+ if (path.equals(otherdata.getPath())) {
+// binding.download.setSelected(true);
+ downloadText.setText(R.string.download_text_using);
+ settings.setEnabled(false);
+ }
+ }
+ });
+
+ }
+ }
+ });
+
Glide.with(this)
.asBitmap()
.load(preview)
@@ -114,9 +178,13 @@ public class PreviewActivity extends AppCompatActivity implements View.OnClickLi
back.setOnClickListener(this);
viewall.setOnClickListener(this);
settings.setOnClickListener(this);
+ like.setOnClickListener(this);
}
private void intView() {
+ downImage = findViewById(R.id.pre_down_image);
+ downloadText = findViewById(R.id.pre_down_text);
+ like = findViewById(R.id.preview_islike);
back = findViewById(R.id.detail_back);
imageView = findViewById(R.id.preview_image);
viewall = findViewById(R.id.preview_all);
@@ -139,27 +207,61 @@ public class PreviewActivity extends AppCompatActivity implements View.OnClickLi
Intent intent = new Intent(PreviewActivity.this, AllActivity.class);
startActivity(intent);
break;
+ case R.id.preview_islike:
+ checkLike();
+ break;
case R.id.detail_setting:
download();
break;
}
}
+ private void checkLike() {
+ if (!islike) {
+ like.setBackgroundResource(R.drawable.icon_like_check);
+ islike = true;
+ otherdata.setIslike(true);
+ Mytools.runIO(new Runnable() {
+ @Override
+ public void run() {
+ MydataBase.getInstance().myDAO().update(otherdata);
+ }
+ });
+ } else {
+ like.setBackgroundResource(R.drawable.icon_like_uncheck);
+ islike = false;
+ otherdata.setIslike(false);
+ Mytools.runIO(new Runnable() {
+ @Override
+ public void run() {
+ MydataBase.getInstance().myDAO().update(otherdata);
+ }
+ });
+ }
+ }
+
+ private void showKey() {
+ Toast.makeText(PreviewActivity.this, getString(R.string.set_successful), Toast.LENGTH_SHORT).show();
+ Intent intent = new Intent(this, ShowKeyboardActivity.class);
+ startActivity(intent);
+ finish();
+ }
+
private void showAd() {
ATInterstitial mInterstitialAd = Mytools.onCache(ads);
if (mInterstitialAd == null) {
- finish();
+ showKey();
} else {
if (mInterstitialAd.isAdReady()) {
Mytools.setCallback(mInterstitialAd, new Adcallback() {
@Override
public void onShowFail(AdError ad) {
- finish();
+ showKey();
}
@Override
public void onAdHidden() {
- finish();
+ showKey();
}
});
mInterstitialAd.show(this);
@@ -182,7 +284,6 @@ public class PreviewActivity extends AppCompatActivity implements View.OnClickLi
Mytools.unZip(this, unzipPath, resource, (successful1, resDirPath) -> {
if (successful1) {
StaticValue.PATH = resDirPath;
- Toast.makeText(PreviewActivity.this, getString(R.string.set_successful), Toast.LENGTH_SHORT).show();
progressBarDownload.setVisibility(View.GONE);
showAd();
diff --git a/app/src/main/java/com/exquisite/activity/SearchActivity.java b/app/src/main/java/com/exquisite/activity/SearchActivity.java
index 99d9f11..0ad41c6 100644
--- a/app/src/main/java/com/exquisite/activity/SearchActivity.java
+++ b/app/src/main/java/com/exquisite/activity/SearchActivity.java
@@ -7,28 +7,23 @@ import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import android.annotation.SuppressLint;
import android.content.Context;
-import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
-import android.util.Log;
-import android.view.KeyEvent;
import android.view.View;
-import android.view.WindowManager;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
-import android.widget.Toast;
import com.exquisite.KeyboardSkin;
import com.exquisite.adapter.ThumAdapter;
import com.exquisite.data.Mydata;
-import com.exquisite.data.StaticValue;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import com.exquisite.tools.SpaceItem;
import java.util.List;
@@ -116,7 +111,7 @@ public class SearchActivity extends AppCompatActivity implements View.OnClickLis
faile.setVisibility(View.GONE);
searchrv.setVisibility(View.VISIBLE);
searchrv.setAdapter(new ThumAdapter(this, filteredData));
- searchrv.setLayoutManager(new GridLayoutManager(this, 2));
+ searchrv.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));
}
}
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
diff --git a/app/src/main/java/com/exquisite/activity/ShowKeyboardActivity.java b/app/src/main/java/com/exquisite/activity/ShowKeyboardActivity.java
new file mode 100644
index 0000000..a246f8d
--- /dev/null
+++ b/app/src/main/java/com/exquisite/activity/ShowKeyboardActivity.java
@@ -0,0 +1,66 @@
+package com.exquisite.activity;
+
+import androidx.activity.EdgeToEdge;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.graphics.Insets;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.WindowInsetsCompat;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.util.Log;
+import android.view.inputmethod.InputMethodManager;
+
+import com.exquisite.KeyboardSkin;
+import com.exquisite.R;
+import com.exquisite.data.StaticValue;
+import com.exquisite.databinding.ActivityShowKeyboardBinding;
+
+public class ShowKeyboardActivity extends AppCompatActivity {
+ ActivityShowKeyboardBinding binding;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ binding = ActivityShowKeyboardBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+
+ EdgeToEdge.enable(this);
+ ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_show), (v, insets) -> {
+ Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
+ return insets;
+ });
+
+ Intent intent = getIntent();
+ int a = intent.getIntExtra(StaticValue.KEY_ISshow, 0);
+ KeyboardSkin.a = a;
+// Log.e("zzj", "---a---" + a);
+
+ binding.showBack.setOnClickListener(v -> finish());
+
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ binding.showkeyEdit.requestFocus();
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
+ imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
+ }
+ }, 500);
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
+ imm.hideSoftInputFromWindow(binding.showkeyEdit.getWindowToken(), 0);
+ binding.showkeyEdit.clearFocus();
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/exquisite/activity/SplashActivity.java b/app/src/main/java/com/exquisite/activity/SplashActivity.java
index 45b12e6..4fb296d 100644
--- a/app/src/main/java/com/exquisite/activity/SplashActivity.java
+++ b/app/src/main/java/com/exquisite/activity/SplashActivity.java
@@ -5,32 +5,21 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.annotation.SuppressLint;
-import android.content.BroadcastReceiver;
-import android.content.Context;
import android.content.Intent;
-import android.content.IntentFilter;
import android.os.Bundle;
import android.os.CountDownTimer;
-import android.util.Log;
import android.view.View;
import com.anythink.core.api.AdError;
import com.anythink.interstitial.api.ATInterstitial;
import com.exquisite.KeyboardSkin;
import com.exquisite.callback.Adcallback;
-import com.exquisite.demo08.R;
-import com.exquisite.mintegral.ADBean;
-import com.exquisite.mintegral.MBrManager;
-import com.exquisite.mintegral.Mylistener;
-import com.exquisite.mintegral.onAdStatusListener;
-import com.exquisite.mintegral.onInterHandlerListener;
+import com.exquisite.R;
+
+import com.exquisite.tools.CustomProgressBar;
import com.exquisite.tools.Mytools;
-import com.mbridge.msdk.mbbid.out.BidListennning;
-import com.mbridge.msdk.mbbid.out.BidManager;
-import com.mbridge.msdk.mbbid.out.BidResponsed;
import java.util.List;
@@ -38,8 +27,8 @@ public class SplashActivity extends AppCompatActivity {
private CountDownTimer countDownTimer;
private List ads;
- public static boolean isAlreadyShow = false;
-
+ private boolean isAlreadyShow = false;
+ private float i = 0;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -53,11 +42,15 @@ public class SplashActivity extends AppCompatActivity {
return insets;
});
+ CustomProgressBar customProgressBar = findViewById(R.id.splash_pg);
+
ads = KeyboardSkin.lodAd();
countDownTimer = new CountDownTimer(11000, 100) {
@Override
public void onTick(long l) {
+ i++;
+ customProgressBar.setProgress(i);
if (!isAlreadyShow) {
showAd(false);
}
@@ -102,7 +95,6 @@ public class SplashActivity extends AppCompatActivity {
goMain();
}
});
-
mInterstitialAd.show(this);
} else {
mInterstitialAd.load();
diff --git a/app/src/main/java/com/exquisite/activity/WebActivity.java b/app/src/main/java/com/exquisite/activity/WebActivity.java
new file mode 100644
index 0000000..508751c
--- /dev/null
+++ b/app/src/main/java/com/exquisite/activity/WebActivity.java
@@ -0,0 +1,33 @@
+package com.exquisite.activity;
+
+import androidx.activity.EdgeToEdge;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.graphics.Insets;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.WindowInsetsCompat;
+
+import android.os.Bundle;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+import com.exquisite.R;
+
+public class WebActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_web);
+ EdgeToEdge.enable(this);
+ ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_web), (v, insets) -> {
+ Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
+ return insets;
+ });
+
+ WebView webView = findViewById(R.id.web);
+ webView.getSettings().setJavaScriptEnabled(true);
+ webView.setWebViewClient(new WebViewClient());
+ webView.loadUrl("file:///android_asset/privacy.html");
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/exquisite/adapter/PageAdapter.java b/app/src/main/java/com/exquisite/adapter/PageAdapter.java
index ae9f2d4..2b19fd5 100644
--- a/app/src/main/java/com/exquisite/adapter/PageAdapter.java
+++ b/app/src/main/java/com/exquisite/adapter/PageAdapter.java
@@ -5,8 +5,9 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
-import com.exquisite.fragment.PageOneFragment;
-import com.exquisite.fragment.PageTwoFragment;
+import com.exquisite.fragment.LikeFragment;
+import com.exquisite.fragment.MainFragment;
+import com.exquisite.fragment.SettingFragment;
import java.util.ArrayList;
import java.util.List;
@@ -16,8 +17,10 @@ public class PageAdapter extends FragmentPagerAdapter {
public PageAdapter(@NonNull FragmentManager fm) {
super(fm);
- list.add(new PageOneFragment());
- list.add(new PageTwoFragment());
+ list.add(new MainFragment());
+ list.add(new LikeFragment());
+ list.add(new SettingFragment());
+
}
@NonNull
@@ -28,6 +31,6 @@ public class PageAdapter extends FragmentPagerAdapter {
@Override
public int getCount() {
- return 2;
+ return list.size();
}
}
diff --git a/app/src/main/java/com/exquisite/adapter/ThumAdapter.java b/app/src/main/java/com/exquisite/adapter/ThumAdapter.java
index 7376b19..be50ed7 100644
--- a/app/src/main/java/com/exquisite/adapter/ThumAdapter.java
+++ b/app/src/main/java/com/exquisite/adapter/ThumAdapter.java
@@ -11,14 +11,13 @@ import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
+import com.exquisite.R;
import com.exquisite.activity.PreviewActivity;
import com.exquisite.data.Mydata;
import com.exquisite.data.StaticValue;
-import com.exquisite.demo08.R;
import com.exquisite.tools.Mytools;
import java.util.List;
-import java.util.Random;
public class ThumAdapter extends RecyclerView.Adapter {
private Context myContext;
@@ -39,7 +38,17 @@ public class ThumAdapter extends RecyclerView.Adapter {
@Override
public void onBindViewHolder(@NonNull ThumVH holder, int position) {
Mydata myData = myDataList.get(position);
- String thumbnail = myData.getThumbnail();
+ String thumbnail = myData.getThumb();
+
+ if (position == getItemCount() - 1) {
+ holder.getView().setVisibility(View.VISIBLE);
+ } else if (position == getItemCount() - 2) {
+ holder.getView().setVisibility(View.VISIBLE);
+ } else {
+ holder.getView().setVisibility(View.GONE);
+ }
+
+
Glide.with(myContext)
.load(thumbnail)
.placeholder(R.mipmap.logo)
@@ -47,8 +56,8 @@ public class ThumAdapter extends RecyclerView.Adapter {
.into(holder.getImageViewThumb());
holder.getConstraintLayout().setOnClickListener(v -> {
Intent intent = new Intent(myContext, PreviewActivity.class);
- intent.putExtra(StaticValue.KEY_NAME, myData.getResourceName());
- intent.putExtra(StaticValue.KEY_URL, myData.getUrl());
+ intent.putExtra(StaticValue.KEY_NAME, myData.getTitle());
+ intent.putExtra(StaticValue.KEY_URL, myData.getZipUrl());
intent.putExtra(StaticValue.KEY_PRE, myData.getPreview());
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
myContext.startActivity(intent);
diff --git a/app/src/main/java/com/exquisite/adapter/ThumVH.java b/app/src/main/java/com/exquisite/adapter/ThumVH.java
index 22e9650..2afd911 100644
--- a/app/src/main/java/com/exquisite/adapter/ThumVH.java
+++ b/app/src/main/java/com/exquisite/adapter/ThumVH.java
@@ -7,16 +7,22 @@ import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
public class ThumVH extends RecyclerView.ViewHolder {
private ImageView imageViewThumb;
private ConstraintLayout constraintLayout;
+ private View view;
public ThumVH(@NonNull View itemView) {
super(itemView);
imageViewThumb = itemView.findViewById(R.id.image_view_thumb_id);
constraintLayout = itemView.findViewById(R.id.constraint_layout_id);
+ view = itemView.findViewById(R.id.view);
+ }
+
+ public View getView() {
+ return view;
}
public ConstraintLayout getConstraintLayout() {
diff --git a/app/src/main/java/com/exquisite/data/MyDAO.java b/app/src/main/java/com/exquisite/data/MyDAO.java
new file mode 100644
index 0000000..200500d
--- /dev/null
+++ b/app/src/main/java/com/exquisite/data/MyDAO.java
@@ -0,0 +1,34 @@
+package com.exquisite.data;
+
+import androidx.lifecycle.LiveData;
+import androidx.room.Dao;
+import androidx.room.Insert;
+import androidx.room.Query;
+import androidx.room.Update;
+
+import java.util.List;
+
+@Dao
+public interface MyDAO {
+ @Query("SELECT * FROM keyboard_table")
+ LiveData> getAll();
+ @Query("SELECT * FROM keyboard_table")
+ List getAlldata();
+ @Query("select * from keyboard_table where preview =:pre ")
+ List checklikelist(String pre);
+
+ @Query("select * from keyboard_table where className =:classname ")
+ List getotherlist(String classname);
+
+ @Query("SELECT * FROM keyboard_table WHERE islike = :islike")
+ LiveData> getlikelist(boolean islike);
+
+ @Query("SELECT * FROM keyboard_table WHERE title LIKE '%' || :title || '%'")
+ List getSearchData(String title);
+
+ @Insert
+ void insertAll(List likeDataList);
+
+ @Update
+ void update(Mydata otherdata);
+}
diff --git a/app/src/main/java/com/exquisite/data/Mydata.java b/app/src/main/java/com/exquisite/data/Mydata.java
index df88ea6..387c852 100644
--- a/app/src/main/java/com/exquisite/data/Mydata.java
+++ b/app/src/main/java/com/exquisite/data/Mydata.java
@@ -1,52 +1,94 @@
package com.exquisite.data;
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+
+import com.exquisite.KeyboardSkin;
+
import java.util.ArrayList;
import java.util.List;
+@Entity(tableName = KeyboardSkin.Table_Name)
public class Mydata {
- private String resourceName;
-
- private String thumbnail;
- private String preview;
-
- private String url;
-
- public void setPreview(String preview) {
- this.preview = preview;
- }
-
- public void setResourceName(String resourceName) {
- this.resourceName = resourceName;
- }
-
- public void setThumbnail(String thumbnail) {
- this.thumbnail = thumbnail;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
+ @PrimaryKey(autoGenerate = true)
+ public int id;
+ public String preview;
+ public String thumb;
+ public String className;
+ public String title;
+ public String zipUrl;
+ public Boolean islike;
+ public Boolean isDownloaded;
+ public String path;
public String getPreview() {
return preview;
}
- public String getResourceName() {
- return resourceName;
+ public void setPreview(String preview) {
+ this.preview = preview;
}
- public String getThumbnail() {
- return thumbnail;
+ public String getThumb() {
+ return thumb;
}
- public String getUrl() {
- return url;
+ public void setThumb(String thumb) {
+ this.thumb = thumb;
+ }
+
+ public String getClassName() {
+ return className;
+ }
+
+ public void setClassName(String className) {
+ this.className = className;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getZipUrl() {
+ return zipUrl;
+ }
+
+ public void setZipUrl(String zipUrl) {
+ this.zipUrl = zipUrl;
+ }
+
+ public Boolean getIslike() {
+ return islike;
+ }
+
+ public void setIslike(Boolean islike) {
+ this.islike = islike;
+ }
+
+ public Boolean getDownloaded() {
+ return isDownloaded;
+ }
+
+ public void setDownloaded(Boolean downloaded) {
+ isDownloaded = downloaded;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
}
public List filterByName(String input, List dataList) {
List filteredList = new ArrayList<>();
for (Mydata data : dataList) {
- if (data.getResourceName().toLowerCase().contains(input.toLowerCase())) {
+ if (data.getTitle().toLowerCase().contains(input.toLowerCase())) {
filteredList.add(data);
}
}
diff --git a/app/src/main/java/com/exquisite/data/MydataBase.java b/app/src/main/java/com/exquisite/data/MydataBase.java
new file mode 100644
index 0000000..1828565
--- /dev/null
+++ b/app/src/main/java/com/exquisite/data/MydataBase.java
@@ -0,0 +1,24 @@
+package com.exquisite.data;
+
+import androidx.room.Database;
+import androidx.room.Room;
+import androidx.room.RoomDatabase;
+
+import com.exquisite.KeyboardSkin;
+
+
+@Database(entities = {Mydata.class}, version = KeyboardSkin.DB_Version, exportSchema = false)
+public abstract class MydataBase extends RoomDatabase {
+ public abstract MyDAO myDAO();
+
+ private static MydataBase INSTANCE;
+
+ public static MydataBase getInstance() {
+ if (INSTANCE == null) {
+ synchronized (MydataBase.class) {
+ INSTANCE = Room.databaseBuilder(KeyboardSkin.getAppContext(), MydataBase.class, KeyboardSkin.DB_Name).build();
+ }
+ }
+ return INSTANCE;
+ }
+}
diff --git a/app/src/main/java/com/exquisite/data/StaticValue.java b/app/src/main/java/com/exquisite/data/StaticValue.java
index 552f668..851c8aa 100644
--- a/app/src/main/java/com/exquisite/data/StaticValue.java
+++ b/app/src/main/java/com/exquisite/data/StaticValue.java
@@ -5,4 +5,5 @@ public class StaticValue {
public static String KEY_URL = "key_url";
public static String KEY_PRE = "key_pre";
public static String PATH = "";
+ public static String KEY_ISshow = "";
}
diff --git a/app/src/main/java/com/exquisite/fragment/AllFragment.java b/app/src/main/java/com/exquisite/fragment/AllFragment.java
index 2c6e19e..6511c85 100644
--- a/app/src/main/java/com/exquisite/fragment/AllFragment.java
+++ b/app/src/main/java/com/exquisite/fragment/AllFragment.java
@@ -6,7 +6,6 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentPagerAdapter;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
@@ -15,7 +14,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import com.google.android.material.tabs.TabLayout;
import java.util.ArrayList;
diff --git a/app/src/main/java/com/exquisite/fragment/FragmentAesthetic.java b/app/src/main/java/com/exquisite/fragment/FragmentAesthetic.java
index a73eb93..00df999 100644
--- a/app/src/main/java/com/exquisite/fragment/FragmentAesthetic.java
+++ b/app/src/main/java/com/exquisite/fragment/FragmentAesthetic.java
@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.exquisite.KeyboardSkin;
import com.exquisite.adapter.ThumAdapter;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import com.exquisite.tools.SpaceItem;
public class FragmentAesthetic extends Fragment {
diff --git a/app/src/main/java/com/exquisite/fragment/FragmentCool.java b/app/src/main/java/com/exquisite/fragment/FragmentCool.java
index b153103..6faae30 100644
--- a/app/src/main/java/com/exquisite/fragment/FragmentCool.java
+++ b/app/src/main/java/com/exquisite/fragment/FragmentCool.java
@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.exquisite.KeyboardSkin;
import com.exquisite.adapter.ThumAdapter;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import com.exquisite.tools.SpaceItem;
public class FragmentCool extends Fragment {
diff --git a/app/src/main/java/com/exquisite/fragment/FragmentCute.java b/app/src/main/java/com/exquisite/fragment/FragmentCute.java
index a56c65d..9658fe1 100644
--- a/app/src/main/java/com/exquisite/fragment/FragmentCute.java
+++ b/app/src/main/java/com/exquisite/fragment/FragmentCute.java
@@ -12,7 +12,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.exquisite.KeyboardSkin;
import com.exquisite.adapter.ThumAdapter;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import com.exquisite.tools.SpaceItem;
diff --git a/app/src/main/java/com/exquisite/fragment/FragmentForyou.java b/app/src/main/java/com/exquisite/fragment/FragmentForyou.java
index b8aa7e4..b071995 100644
--- a/app/src/main/java/com/exquisite/fragment/FragmentForyou.java
+++ b/app/src/main/java/com/exquisite/fragment/FragmentForyou.java
@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.exquisite.KeyboardSkin;
import com.exquisite.adapter.ThumAdapter;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import com.exquisite.tools.SpaceItem;
public class FragmentForyou extends Fragment {
diff --git a/app/src/main/java/com/exquisite/fragment/FragmentLove.java b/app/src/main/java/com/exquisite/fragment/FragmentLove.java
index 4644767..470057a 100644
--- a/app/src/main/java/com/exquisite/fragment/FragmentLove.java
+++ b/app/src/main/java/com/exquisite/fragment/FragmentLove.java
@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.exquisite.KeyboardSkin;
import com.exquisite.adapter.ThumAdapter;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import com.exquisite.tools.SpaceItem;
public class FragmentLove extends Fragment {
diff --git a/app/src/main/java/com/exquisite/fragment/FragmentNeon.java b/app/src/main/java/com/exquisite/fragment/FragmentNeon.java
index afcee0e..ae0cb40 100644
--- a/app/src/main/java/com/exquisite/fragment/FragmentNeon.java
+++ b/app/src/main/java/com/exquisite/fragment/FragmentNeon.java
@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.exquisite.KeyboardSkin;
import com.exquisite.adapter.ThumAdapter;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import com.exquisite.tools.SpaceItem;
diff --git a/app/src/main/java/com/exquisite/fragment/LikeFragment.java b/app/src/main/java/com/exquisite/fragment/LikeFragment.java
new file mode 100644
index 0000000..da9824a
--- /dev/null
+++ b/app/src/main/java/com/exquisite/fragment/LikeFragment.java
@@ -0,0 +1,58 @@
+package com.exquisite.fragment;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.Observer;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.exquisite.adapter.ThumAdapter;
+import com.exquisite.data.Mydata;
+import com.exquisite.data.MydataBase;
+import com.exquisite.R;
+import com.exquisite.databinding.FragmentLikeBinding;
+import com.exquisite.tools.Mytools;
+import com.exquisite.tools.SpaceItem;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class LikeFragment extends Fragment {
+ FragmentLikeBinding binding;
+ private SpaceItem spaceItem = new SpaceItem(12, 12, 12);
+ private List likelist = new ArrayList<>();
+ private ThumAdapter thumAdapter;
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ binding = FragmentLikeBinding.inflate(getLayoutInflater());
+
+ initData();
+ binding.likeRv.addItemDecoration(spaceItem);
+
+ return binding.getRoot();
+ }
+
+ private void initData() {
+ MydataBase.getInstance().myDAO().getlikelist(true).observe(getViewLifecycleOwner(), new Observer>() {
+ @Override
+ public void onChanged(List mydata) {
+ if (mydata.isEmpty()) {
+ binding.nolikeText.setVisibility(View.VISIBLE);
+ } else {
+ binding.nolikeText.setVisibility(View.GONE);
+ }
+ thumAdapter = new ThumAdapter(requireContext(), mydata);
+ binding.likeRv.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));
+ binding.likeRv.setAdapter(thumAdapter);
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/exquisite/fragment/MainFragment.java b/app/src/main/java/com/exquisite/fragment/MainFragment.java
new file mode 100644
index 0000000..9239705
--- /dev/null
+++ b/app/src/main/java/com/exquisite/fragment/MainFragment.java
@@ -0,0 +1,106 @@
+package com.exquisite.fragment;
+
+import android.annotation.SuppressLint;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.Observer;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+
+import com.exquisite.KeyboardSkin;
+import com.exquisite.activity.AllActivity;
+import com.exquisite.activity.SearchActivity;
+import com.exquisite.adapter.ThumAdapter;
+import com.exquisite.data.Mydata;
+import com.exquisite.data.MydataBase;
+import com.exquisite.R;
+import com.exquisite.tools.Mytools;
+import com.exquisite.tools.SpaceItem;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+
+public class MainFragment extends Fragment {
+ private RecyclerView mainrv;
+ private LinearLayout viewall;
+ private ImageView seach;
+ private SpaceItem spaceItem = new SpaceItem(10, 20, 10);
+ private ThumAdapter thumAdapter;
+ private List mainrandomlist = new ArrayList<>();
+
+ @SuppressLint("MissingInflatedId")
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.fragment_page_one, container, false);
+ viewall = view.findViewById(R.id.view_all);
+ seach = view.findViewById(R.id.search_image);
+ mainrv = view.findViewById(R.id.main_keyboard_rv);
+
+ viewall.setOnClickListener(v -> {
+ Intent intent = new Intent(getActivity(), AllActivity.class);
+ startActivity(intent);
+ });
+
+ seach.setOnClickListener(v -> {
+ Intent intent1 = new Intent(getActivity(), SearchActivity.class);
+ startActivity(intent1);
+ });
+
+ initData();
+
+ return view;
+ }
+
+ private void initData() {
+
+ List mainrvdataList = KeyboardSkin.getMyDataArrayList();
+ mainrvdataList.subList(0, 20);
+ for (Mydata data : mainrvdataList) {
+ if (mainrandomlist.size() < 20) {
+ mainrandomlist.add(data);
+ }
+ }
+ thumAdapter = new ThumAdapter(requireContext(), mainrandomlist);
+ mainrv.setAdapter(thumAdapter);
+ mainrv.setLayoutManager(new GridLayoutManager(requireContext(), 2));
+ mainrv.addItemDecoration(spaceItem);
+// Mytools.runIO(new Runnable() {
+// @Override
+// public void run() {
+// List mydata = MydataBase.getInstance().myDAO().getAlldata();
+// requireActivity().runOnUiThread(new Runnable() {
+// @Override
+// public void run() {
+//// Collections.shuffle(mydata);
+// List newList = mydata.subList(10, 20);
+// thumAdapter = new ThumAdapter(requireContext(), newList);
+// mainrv.setAdapter(thumAdapter);
+// mainrv.setLayoutManager(new GridLayoutManager(requireContext(), 2));
+// mainrv.addItemDecoration(spaceItem);
+// }
+// });
+// }
+// });
+// MydataBase.getInstance().myDAO().getAll().observe(getViewLifecycleOwner(), new Observer>() {
+// @Override
+// public void onChanged(List mydata) {
+// Collections.shuffle(mydata);
+// List newList = mydata.subList(0, 20);
+// thumAdapter = new ThumAdapter(requireContext(), newList);
+// mainrv.setAdapter(thumAdapter);
+// mainrv.setLayoutManager(new GridLayoutManager(requireContext(), 2));
+// mainrv.addItemDecoration(spaceItem);
+// }
+// });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/exquisite/fragment/PageOneFragment.java b/app/src/main/java/com/exquisite/fragment/PageOneFragment.java
deleted file mode 100644
index 26103ec..0000000
--- a/app/src/main/java/com/exquisite/fragment/PageOneFragment.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.exquisite.fragment;
-
-import android.annotation.SuppressLint;
-import android.content.Intent;
-import android.os.Bundle;
-
-import androidx.fragment.app.Fragment;
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.exquisite.KeyboardSkin;
-import com.exquisite.activity.AllActivity;
-import com.exquisite.activity.SearchActivity;
-import com.exquisite.adapter.ThumAdapter;
-import com.exquisite.demo08.R;
-import com.exquisite.tools.SpaceItem;
-
-
-public class PageOneFragment extends Fragment {
- private RecyclerView mainrv;
- private LinearLayout viewall;
- private ImageView seach;
- @SuppressLint("MissingInflatedId")
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_page_one, container, false);
- viewall = view.findViewById(R.id.view_all);
- seach = view.findViewById(R.id.search_image);
- mainrv = view.findViewById(R.id.main_keyboard_rv);
- viewall.setOnClickListener(v -> {
- Intent intent = new Intent(getActivity(), AllActivity.class);
- startActivity(intent);
- });
- seach.setOnClickListener(v -> {
- Intent intent1 = new Intent(getActivity(), SearchActivity.class);
- startActivity(intent1);
- });
- SpaceItem spaceItem = new SpaceItem(10, 20, 10);
- mainrv.setAdapter(new ThumAdapter(requireContext(), KeyboardSkin.getMyDataArrayList()));
- mainrv.setLayoutManager(new GridLayoutManager(requireContext(), 2));
- mainrv.addItemDecoration(spaceItem);
- return view;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/exquisite/fragment/PageTwoFragment.java b/app/src/main/java/com/exquisite/fragment/PageTwoFragment.java
deleted file mode 100644
index 12d3b79..0000000
--- a/app/src/main/java/com/exquisite/fragment/PageTwoFragment.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.exquisite.fragment;
-
-import android.annotation.SuppressLint;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-
-import androidx.fragment.app.Fragment;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.LinearLayout;
-import android.widget.Toast;
-
-import com.exquisite.activity.KeyBoardSettingsActivity;
-import com.exquisite.demo08.R;
-
-public class PageTwoFragment extends Fragment implements View.OnClickListener {
- private LinearLayout settings, rate, privacy;
-
- @SuppressLint("MissingInflatedId")
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_page_two, container, false);
- settings = view.findViewById(R.id.keyboard_setting);
- rate = view.findViewById(R.id.rate_us);
- privacy = view.findViewById(R.id.privacy);
- initEvent();
- return view;
- }
-
- private void initEvent() {
- settings.setOnClickListener(this);
- rate.setOnClickListener(this);
- privacy.setOnClickListener(this);
- }
-
-
- @SuppressLint("NonConstantResourceId")
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.keyboard_setting:
- Intent intent1 = new Intent(getActivity(), KeyBoardSettingsActivity.class);
- startActivity(intent1);
- break;
- case R.id.rate_us:
- break;
- case R.id.privacy:
- String url = getString(R.string.url_privacy);
- Intent intent2 = new Intent(Intent.ACTION_VIEW);
- intent2.setData(Uri.parse(url));
- startActivity(intent2);
- break;
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/exquisite/fragment/SettingFragment.java b/app/src/main/java/com/exquisite/fragment/SettingFragment.java
new file mode 100644
index 0000000..9a70bc2
--- /dev/null
+++ b/app/src/main/java/com/exquisite/fragment/SettingFragment.java
@@ -0,0 +1,76 @@
+package com.exquisite.fragment;
+
+import android.annotation.SuppressLint;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.exquisite.activity.KeyBoardSettingsActivity;
+import com.exquisite.activity.WebActivity;
+import com.exquisite.R;
+import com.exquisite.databinding.FragmentPageTwoBinding;
+
+public class SettingFragment extends Fragment {
+ FragmentPageTwoBinding binding;
+
+ @SuppressLint("MissingInflatedId")
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ binding = FragmentPageTwoBinding.inflate(getLayoutInflater());
+
+ initEvent();
+ return binding.getRoot();
+ }
+
+ private void initEvent() {
+
+ binding.versionText.setText("1.0.8");
+ binding.keyboardSetting.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent1 = new Intent(getActivity(), KeyBoardSettingsActivity.class);
+ startActivity(intent1);
+ }
+ });
+
+ binding.share.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent share = new Intent(Intent.ACTION_SEND);
+ share.setType("text/plain");
+ share.putExtra(Intent.EXTRA_SUBJECT, R.string.app_name);
+ String text = getString(R.string.share_title);
+ text = text + "\n https://play.google.com/store/apps/details?id=" + "com.key.keyboardskins";
+ share.putExtra(Intent.EXTRA_TEXT, text);
+ startActivity(Intent.createChooser(share, "choose one"));
+ }
+ });
+
+ binding.rate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String url = "https://play.google.com/store/apps/details?id=com.key.keyboardskins";
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.setData(Uri.parse(url));
+ startActivity(intent);
+ }
+ });
+
+ binding.privacy.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent2 = new Intent(requireContext(), WebActivity.class);
+ startActivity(intent2);
+ }
+ });
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/exquisite/keyboard/KeyboardService.java b/app/src/main/java/com/exquisite/keyboard/KeyboardService.java
index 692cffd..5f11d69 100644
--- a/app/src/main/java/com/exquisite/keyboard/KeyboardService.java
+++ b/app/src/main/java/com/exquisite/keyboard/KeyboardService.java
@@ -1,18 +1,14 @@
package com.exquisite.keyboard;
-import android.app.Service;
import android.content.Context;
-import android.content.Intent;
import android.inputmethodservice.InputMethodService;
-import android.inputmethodservice.Keyboard;
import android.inputmethodservice.KeyboardView;
-import android.os.IBinder;
import android.view.LayoutInflater;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
public class KeyboardService extends InputMethodService implements KeyboardView.OnKeyboardActionListener {
private int[] ViewXmls = new int[4];
diff --git a/app/src/main/java/com/exquisite/keyboard/MyKeyboard.java b/app/src/main/java/com/exquisite/keyboard/MyKeyboard.java
index 0bf6aff..ca3145b 100644
--- a/app/src/main/java/com/exquisite/keyboard/MyKeyboard.java
+++ b/app/src/main/java/com/exquisite/keyboard/MyKeyboard.java
@@ -7,7 +7,6 @@ import android.graphics.drawable.Drawable;
import android.inputmethodservice.Keyboard;
import android.inputmethodservice.KeyboardView;
import android.util.AttributeSet;
-import android.util.Log;
import com.exquisite.tools.CustomViewConfig;
import com.exquisite.tools.Mytools;
diff --git a/app/src/main/java/com/exquisite/mintegral/ADBean.java b/app/src/main/java/com/exquisite/mintegral/ADBean.java
deleted file mode 100644
index 13db5b7..0000000
--- a/app/src/main/java/com/exquisite/mintegral/ADBean.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.exquisite.mintegral;
-
-import com.mbridge.msdk.newinterstitial.out.MBBidNewInterstitialHandler;
-
-public class ADBean {
-
- private MBBidNewInterstitialHandler interstitialHandler;
- private String token;
-
- public void setInterstitialHandler(MBBidNewInterstitialHandler interstitialHandler) {
- this.interstitialHandler = interstitialHandler;
- }
-
- public void setToken(String token) {
- this.token = token;
- }
-
- public MBBidNewInterstitialHandler getInterstitialHandler() {
- return interstitialHandler;
- }
-
- public String getToken() {
- return token;
- }
-}
diff --git a/app/src/main/java/com/exquisite/mintegral/MBrManager.java b/app/src/main/java/com/exquisite/mintegral/MBrManager.java
deleted file mode 100644
index 45bb690..0000000
--- a/app/src/main/java/com/exquisite/mintegral/MBrManager.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package com.exquisite.mintegral;
-
-import android.app.Activity;
-import android.util.Log;
-
-import com.exquisite.KeyboardSkin;
-import com.mbridge.msdk.MBridgeConstans;
-import com.mbridge.msdk.mbbid.out.BidListennning;
-import com.mbridge.msdk.mbbid.out.BidManager;
-import com.mbridge.msdk.mbbid.out.BidResponsed;
-import com.mbridge.msdk.newinterstitial.out.MBBidNewInterstitialHandler;
-import com.mbridge.msdk.newinterstitial.out.NewInterstitialListener;
-import com.mbridge.msdk.out.MBridgeIds;
-import com.mbridge.msdk.out.RewardInfo;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-public class MBrManager {
-
- public static String TAG = "------------ltt";
-
- public static String[] placeIDs = new String[]{"1628304", "1628319", "1628321"};
-
- public static String[] unitIDs = new String[]{"3491035", "3491052", "3491054"};
-
- public static List AdInstances = new ArrayList<>();
-
- public static void getToken(String placeId, String unitId, onBidTokenListener listener) {
- BidManager manager = new BidManager(placeId, unitId);
- manager.setBidListener(new BidListennning() {
- @Override
- public void onFailed(String s) {
- listener.onBidToken("");
- }
-
- @Override
- public void onSuccessed(BidResponsed bidResponsed) {
- String mBidToken = bidResponsed.getBidToken();
- listener.onBidToken(mBidToken);
- }
- });
- manager.bid();
- }
-
- ;
-
- public static void init(Activity activity, onInterHandlerListener listener) {
- for (int i = 0; i < 3; i++) {
- String finalPlaceId = placeIDs[i];
- String unitId = unitIDs[i];
- getToken(finalPlaceId, unitId, new onBidTokenListener() {
- @Override
- public void onBidToken(String token) {
- MBBidNewInterstitialHandler mMBBidNewInterstitialHandler = new MBBidNewInterstitialHandler(KeyboardSkin.getAppContext(), finalPlaceId, unitId);
- ADBean adBean = new ADBean();
- Log.d(TAG, "------------token=" + token);
- adBean.setToken(token);
- adBean.setInterstitialHandler(mMBBidNewInterstitialHandler);
- mMBBidNewInterstitialHandler.loadFromBid(token);
- AdInstances.add(adBean);
- listener.onAddOK();
-
- }
- });
- }
-
- }
-
- public static void loadAllAd() {
- if (AdInstances.size() > 0) {
- for (ADBean adBean : AdInstances) {
- if (!adBean.getInterstitialHandler().isBidReady()) {
- adBean.getInterstitialHandler().loadFromBid(adBean.getToken());
- }
- }
- }
-
- }
-
- public static ADBean getCache() {
- Collections.shuffle(AdInstances);
- for (ADBean adBean : AdInstances) {
- if (adBean.getInterstitialHandler().isBidReady()) {
- return adBean;
- }
- }
- return null;
- }
-
-
- public static void setCallBack(MBBidNewInterstitialHandler mbBidNewInterstitialHandler, onAdStatusListener listener) {
- mbBidNewInterstitialHandler.setInterstitialVideoListener(new NewInterstitialListener() {
-
- @Override
- public void onLoadCampaignSuccess(MBridgeIds ids) {
- /**
- * 广告已填充
- * @param ids 封装的广告id对象
- */
- Log.i(TAG, "onLoadCampaignSuccess: " + Thread.currentThread() + " " + ids.toString());
- }
-
- @Override
- public void onResourceLoadSuccess(MBridgeIds ids) {
- /**
- * 广告资源加载成功,可以播放
- * @param ids 封装的广告id对象
- */
- Log.i(TAG, "onResourceLoadSuccess: " + Thread.currentThread() + " " + ids.toString());
- listener.onLoaded();
- }
-
- @Override
- public void onResourceLoadFail(MBridgeIds ids, String errorMsg) {
- /**
- * 广告加载失败
- * @param errorMsg 加载错误原因
- */
- listener.onLoadFail();
- Log.e(TAG, "onResourceLoadFail errorMsg: " + errorMsg + " " + ids.toString());
- }
-
- @Override
- public void onShowFail(MBridgeIds ids, String errorMsg) {
- /**
- * 广告播放失败
- * @param errorMsg 错误原因
- */
- listener.onShowFail();
- Log.e(TAG, "onShowFail: " + errorMsg + " " + ids.toString());
- }
-
- @Override
- public void onAdShow(MBridgeIds ids) {
- /**
- * 广告成功展示
- */
- Log.i(TAG, "onAdShow: " + ids.toString());
- }
-
- @Override
- public void onAdClose(MBridgeIds ids, RewardInfo info) {
- /**
- * 广告关闭时调用
- * @param info.isCompleteView如果为true,则表示已完全观看了视频
- */
- listener.onClose();
- loadAllAd();
- Log.i(TAG, "onAdClose: " + "isCompleteView:" + info.isCompleteView() + " " + ids.toString());
- }
-
- @Override
- public void onAdClicked(MBridgeIds ids) {
- /**
- * 广告被点击
- * @param 封装的广告id对象
- */
- Log.i(TAG, "onAdClicked: " + ids.toString());
- }
-
- @Override
- public void onVideoComplete(MBridgeIds ids) {
- /**
- * 广告播放完成时调用
- * @param ids 封装的广告id对象
- */
- Log.i(TAG, "onVideoComplete: " + ids.toString());
- }
-
- @Override
- public void onAdCloseWithNIReward(MBridgeIds ids, RewardInfo info) {
- /**
- * 如果开发人员设置了IV奖励,则在广告关闭时调用.
- *
- * @param 封装的广告id对象
- * @param info.isCompleteView() 是否完全观看
- */
- Log.i(TAG, "onAdCloseWithNIReward: " + ids.toString() + " " + info.toString());
-
- Log.i(TAG, info.isCompleteView() ? "Video playback/playable is complete." : "Video playback/playable is not complete.");
-
- int rewardAlertStatus = info.getRewardAlertStatus();
-
- if (rewardAlertStatus == MBridgeConstans.IVREWARDALERT_STATUS_NOTSHOWN) {
- Log.e(TAG, "The dialog is not show.");
- }
-
- if (rewardAlertStatus == MBridgeConstans.IVREWARDALERT_STATUS_CLICKCONTINUE) {
- Log.e(TAG, "The dialog's continue button clicked.");
- }
-
- if (rewardAlertStatus == MBridgeConstans.IVREWARDALERT_STATUS_CLICKCANCEL) {
- Log.e(TAG, "The dialog's cancel button clicked.");
- }
- }
-
- @Override
- public void onEndcardShow(MBridgeIds ids) {
- /**
- * 展示广告落地页时调用
- * @param ids 封装的广告id对象
- */
- Log.i(TAG, "onEndcardShow: " + ids.toString());
- }
-
- });
-
- }
-
-
-}
diff --git a/app/src/main/java/com/exquisite/mintegral/Mylistener.java b/app/src/main/java/com/exquisite/mintegral/Mylistener.java
deleted file mode 100644
index 4412a3d..0000000
--- a/app/src/main/java/com/exquisite/mintegral/Mylistener.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.exquisite.mintegral;
-
-public interface Mylistener {
- void actuion(boolean go);
-}
diff --git a/app/src/main/java/com/exquisite/mintegral/onAdStatusListener.java b/app/src/main/java/com/exquisite/mintegral/onAdStatusListener.java
deleted file mode 100644
index 5a5261f..0000000
--- a/app/src/main/java/com/exquisite/mintegral/onAdStatusListener.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.exquisite.mintegral;
-
-import com.mbridge.msdk.newinterstitial.out.MBBidNewInterstitialHandler;
-
-public interface onAdStatusListener {
-
- void onLoaded();
- void onLoadFail();
- void onShowFail();
-
- void onClose();
-}
diff --git a/app/src/main/java/com/exquisite/mintegral/onBidTokenListener.java b/app/src/main/java/com/exquisite/mintegral/onBidTokenListener.java
deleted file mode 100644
index 0424afe..0000000
--- a/app/src/main/java/com/exquisite/mintegral/onBidTokenListener.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.exquisite.mintegral;
-
-public interface onBidTokenListener {
-
- void onBidToken(String token);
-}
diff --git a/app/src/main/java/com/exquisite/mintegral/onInterHandlerListener.java b/app/src/main/java/com/exquisite/mintegral/onInterHandlerListener.java
deleted file mode 100644
index e84f170..0000000
--- a/app/src/main/java/com/exquisite/mintegral/onInterHandlerListener.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.exquisite.mintegral;
-
-import com.mbridge.msdk.newinterstitial.out.MBBidNewInterstitialHandler;
-
-public interface onInterHandlerListener {
-
- void onAddOK();
-
-
-// void onLoaded();
-// void onLoadFail();
-// void onShowFail();
-//
-// void onClose();
-}
diff --git a/app/src/main/java/com/exquisite/tools/CustomProgressBar.kt b/app/src/main/java/com/exquisite/tools/CustomProgressBar.kt
new file mode 100644
index 0000000..d4fccd3
--- /dev/null
+++ b/app/src/main/java/com/exquisite/tools/CustomProgressBar.kt
@@ -0,0 +1,62 @@
+package com.exquisite.tools
+
+import android.content.Context
+import android.graphics.Canvas
+import android.graphics.Color
+import android.graphics.LinearGradient
+import android.graphics.Paint
+import android.graphics.RectF
+import android.graphics.Shader
+import android.util.AttributeSet
+import android.view.View
+
+class CustomProgressBar(context: Context, attrs: AttributeSet?) : View(context, attrs) {
+ private var progress = 0f // 当前进度
+ private val maxProgress = 100f // 最大进度
+ private val progressBarHeight = 20f // 进度条高度
+ private val cornerRadius = 10f // 圆角半径
+ private val backgroundColor = Color.parseColor("#26FFFFFF")
+ private val startColor = Color.parseColor("#FF9ce8ff") // 起始颜色
+ private val middleColor = Color.parseColor("#FFa4c4fb") // 中间颜色
+ private val endColor = Color.parseColor("#FFbfa4ee") // 结束颜色
+ private val paint = Paint()
+ private val paintTow = Paint()
+
+ init {
+ paint.style = Paint.Style.FILL
+ paint.isAntiAlias = true
+ paintTow.style = Paint.Style.FILL
+ paintTow.isAntiAlias = true
+ }
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+ // 绘制底色矩形
+ paint.shader = null // 重置着色器
+ paint.color = backgroundColor
+ val backgroundRect = RectF(0f, (height / 2 - progressBarHeight / 2), width.toFloat(), (height / 2 + progressBarHeight / 2))
+ canvas.drawRoundRect(backgroundRect, cornerRadius, cornerRadius, paint)
+
+
+ // 计算进度条的宽度
+ val progressBarWidth = (width * progress / maxProgress)
+
+ // 创建颜色渐变对象
+ val gradient = LinearGradient(0f, 0f, width.toFloat(), 0f, intArrayOf(startColor, middleColor, endColor), null, Shader.TileMode.CLAMP)
+ paintTow.shader = gradient
+
+ // 绘制带圆角的进度条矩形
+ val rect = RectF(0f, (height / 2 - progressBarHeight / 2), progressBarWidth.toFloat(), (height / 2 + progressBarHeight / 2))
+ canvas.drawRoundRect(rect, cornerRadius, cornerRadius, paintTow)
+ }
+
+ fun getProgress():Float{
+ return progress
+ }
+
+ // 设置进度
+ fun setProgress(progress: Float) {
+ this.progress = progress
+ invalidate() // 请求重绘
+ }
+}
diff --git a/app/src/main/java/com/exquisite/tools/CustomViewConfig.java b/app/src/main/java/com/exquisite/tools/CustomViewConfig.java
index 3a25dbe..908e4ac 100644
--- a/app/src/main/java/com/exquisite/tools/CustomViewConfig.java
+++ b/app/src/main/java/com/exquisite/tools/CustomViewConfig.java
@@ -6,14 +6,13 @@ import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.StateListDrawable;
-import android.util.Log;
import android.util.Xml;
import androidx.core.content.ContextCompat;
import com.exquisite.KeyboardSkin;
import com.exquisite.data.StaticValue;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
diff --git a/app/src/main/java/com/exquisite/tools/Mytools.java b/app/src/main/java/com/exquisite/tools/Mytools.java
index b2c7afa..62e729e 100644
--- a/app/src/main/java/com/exquisite/tools/Mytools.java
+++ b/app/src/main/java/com/exquisite/tools/Mytools.java
@@ -1,9 +1,6 @@
package com.exquisite.tools;
-import static android.provider.Settings.System.getString;
-
import android.content.Context;
-import android.content.SharedPreferences;
import android.content.res.AssetManager;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.StateListDrawable;
@@ -33,7 +30,7 @@ import com.exquisite.callback.Adcallback;
import com.exquisite.callback.DownloadCallback;
import com.exquisite.callback.UnzipCallback;
import com.exquisite.data.Mydata;
-import com.exquisite.demo08.R;
+import com.exquisite.R;
import net.sf.sevenzipjbinding.ArchiveFormat;
import net.sf.sevenzipjbinding.IInArchive;
@@ -58,6 +55,8 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
public class Mytools {
private static InputMethodManager methodManager = (InputMethodManager) KeyboardSkin.app.getSystemService(Context.INPUT_METHOD_SERVICE);
@@ -65,8 +64,18 @@ public class Mytools {
private static final String two_Ad = "n66a0bc9350f0e";
private static final String three_ad = "n66a0b8eca7766";
private static ArrayList adArrayList;
+ private static ExecutorService executorService;
+ public static void runIO(Runnable task) {
+ getExecutorService().execute(task);
+ }
+ private static ExecutorService getExecutorService() {
+ if (executorService == null) {
+ executorService = Executors.newSingleThreadExecutor();
+ }
+ return executorService;
+ }
public static void setCallback(ATInterstitial ad, Adcallback adcallback) {
ad.setAdListener(new ATInterstitialListener() {
@Override
@@ -294,14 +303,18 @@ public class Mytools {
JSONArray jsonObject = loadJSONFromAsset(filename);
for (int a = 0; a < jsonObject.length(); a++) {
JSONObject list = jsonObject.getJSONObject(a);
+ String className = list.getString("className");
JSONArray classArray = list.getJSONArray("list");
for (int i = 0; i < classArray.length(); i++) {
JSONObject item = classArray.getJSONObject(i);
Mydata myData = new Mydata();
+ myData.setClassName(className);
+ myData.setDownloaded(false);
+ myData.setIslike(false);
myData.setPreview(item.getString("preview"));
- myData.setThumbnail(item.getString("thumb"));
- myData.setResourceName(item.getString("title"));
- myData.setUrl(item.getString("zipUrl"));
+ myData.setThumb(item.getString("thumb"));
+ myData.setTitle(item.getString("title"));
+ myData.setZipUrl(item.getString("zipUrl"));
dataList.add(myData);
}
diff --git a/app/src/main/res/drawable/dialog_bg.xml b/app/src/main/res/drawable/dialog_bg.xml
new file mode 100644
index 0000000..e2ac195
--- /dev/null
+++ b/app/src/main/res/drawable/dialog_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/icon_delete.xml b/app/src/main/res/drawable/icon_delete.xml
new file mode 100644
index 0000000..e5a7ddf
--- /dev/null
+++ b/app/src/main/res/drawable/icon_delete.xml
@@ -0,0 +1,20 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/icon_like_check.xml b/app/src/main/res/drawable/icon_like_check.xml
new file mode 100644
index 0000000..5546cad
--- /dev/null
+++ b/app/src/main/res/drawable/icon_like_check.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/icon_like_uncheck.xml b/app/src/main/res/drawable/icon_like_uncheck.xml
new file mode 100644
index 0000000..c7ef996
--- /dev/null
+++ b/app/src/main/res/drawable/icon_like_uncheck.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/icon_rate.xml b/app/src/main/res/drawable/icon_rate.xml
new file mode 100644
index 0000000..9b2e3f7
--- /dev/null
+++ b/app/src/main/res/drawable/icon_rate.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/icon_share.xml b/app/src/main/res/drawable/icon_share.xml
new file mode 100644
index 0000000..a1777af
--- /dev/null
+++ b/app/src/main/res/drawable/icon_share.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/icon_version.xml b/app/src/main/res/drawable/icon_version.xml
new file mode 100644
index 0000000..96b7811
--- /dev/null
+++ b/app/src/main/res/drawable/icon_version.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/like_check.xml b/app/src/main/res/drawable/like_check.xml
new file mode 100644
index 0000000..b4da267
--- /dev/null
+++ b/app/src/main/res/drawable/like_check.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/like_uncheck.xml b/app/src/main/res/drawable/like_uncheck.xml
new file mode 100644
index 0000000..10994a7
--- /dev/null
+++ b/app/src/main/res/drawable/like_uncheck.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable/showkeyboard_edit.xml b/app/src/main/res/drawable/showkeyboard_edit.xml
new file mode 100644
index 0000000..54e654b
--- /dev/null
+++ b/app/src/main/res/drawable/showkeyboard_edit.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview.xml b/app/src/main/res/layout/activity_preview.xml
index c0e118c..a9bbddd 100644
--- a/app/src/main/res/layout/activity_preview.xml
+++ b/app/src/main/res/layout/activity_preview.xml
@@ -9,7 +9,7 @@
tools:context="com.exquisite.activity.PreviewActivity">
-
+ android:layout_height="wrap_content"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml
index 2e50dab..1a89ef3 100644
--- a/app/src/main/res/layout/activity_splash.xml
+++ b/app/src/main/res/layout/activity_splash.xml
@@ -57,10 +57,11 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/logo" />
-
diff --git a/app/src/main/res/layout/activity_web.xml b/app/src/main/res/layout/activity_web.xml
new file mode 100644
index 0000000..a1893e7
--- /dev/null
+++ b/app/src/main/res/layout/activity_web.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog.xml b/app/src/main/res/layout/dialog.xml
new file mode 100644
index 0000000..570698f
--- /dev/null
+++ b/app/src/main/res/layout/dialog.xml
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_like.xml b/app/src/main/res/layout/fragment_like.xml
new file mode 100644
index 0000000..34804a3
--- /dev/null
+++ b/app/src/main/res/layout/fragment_like.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_page_one.xml b/app/src/main/res/layout/fragment_page_one.xml
index c60c4b5..625e25f 100644
--- a/app/src/main/res/layout/fragment_page_one.xml
+++ b/app/src/main/res/layout/fragment_page_one.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
- tools:context="com.exquisite.fragment.PageOneFragment">
+ tools:context="com.exquisite.fragment.MainFragment">
+ tools:context="com.exquisite.fragment.SettingFragment">
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/image_list.xml b/app/src/main/res/layout/image_list.xml
index d95c4b0..542f238 100644
--- a/app/src/main/res/layout/image_list.xml
+++ b/app/src/main/res/layout/image_list.xml
@@ -5,7 +5,7 @@
android:id="@+id/constraint_layout_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- tools:context="com.exquisite.fragment.PageOneFragment">
+ tools:context="com.exquisite.fragment.MainFragment">
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/toast_dialog.xml b/app/src/main/res/layout/toast_dialog.xml
new file mode 100644
index 0000000..3889214
--- /dev/null
+++ b/app/src/main/res/layout/toast_dialog.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xxxhdpi/toast_image_bg.png b/app/src/main/res/mipmap-xxxhdpi/toast_image_bg.png
new file mode 100644
index 0000000..ca5409c
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/toast_image_bg.png differ
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3b79845..8166916 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -4,10 +4,12 @@
Keyboard Settings
Rate us
Privacy
+ Share
+ Version
For You
View all
All
- Activate PassionCool Keyboard to \n enable MORE functions!
+ Keyboard \n requires permission to use
Step 1:Select
Step 2:Enabled
Hello blank fragment
@@ -21,6 +23,7 @@
Successfully set up \n Now you can download keyboard
Setting failed ! Please try again
Download failed
+ Zip failed
Cancel
The keyboard is not available
Please enter the content
@@ -28,4 +31,12 @@
Search
489845093456531
f4f2d45a7ca326adf493b7dd29a188be
+ Here is a Keyboard Skins
+ Application results
+ Enter text to see the effect
+ Apply
+ Apply Now
+ In Use
+ My Favorite
+ No favorites added yet
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index 6c84453..b79134b 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id("com.android.application") version "8.1.3" apply false
- id("org.jetbrains.kotlin.android") version "1.7.0" apply false
+ id("org.jetbrains.kotlin.android") version "1.9.0" apply false
id("com.google.gms.google-services") version "4.3.15" apply false
id ("com.google.firebase.crashlytics") version "2.9.2" apply false
}
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 8c70749..2a2f024 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -14,7 +14,7 @@ dependencyResolutionManagement {
maven("https://jitpack.io")
maven("https://jfrog.anythinktech.com/artifactory/overseas_sdk")
maven("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea")
- maven("https://jfrog.anythinktech.com/artifactory/debugger")
+// maven("https://jfrog.anythinktech.com/artifactory/debugger")
maven{url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea")}
}
}