Optimized code.

This commit is contained in:
2023-07-20 00:45:37 +08:00
parent 39defa2d58
commit 37d8861bbd
19 changed files with 69 additions and 785 deletions

View File

@@ -1,3 +1,5 @@
import com.mikepenz.aboutlibraries.plugin.AboutLibrariesTask
plugins {
id 'com.android.application'
id 'com.mikepenz.aboutlibraries.plugin'
@@ -39,13 +41,12 @@ android {
shrinkResources true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
zipAlignEnabled true
}
}
android.applicationVariants.all {
android.applicationVariants.configureEach {
variant ->
variant.outputs.all {
variant.outputs.configureEach {
output -> outputFileName = "OxygenToolbox" + "_" + defaultConfig.versionName + "-" + defaultConfig.versionCode + "_" + buildType.name + ".apk"
}
}
@@ -84,7 +85,8 @@ aboutLibraries {
]
}
task exportLibrariesToJson(group: 'build', description: 'Generate libraries definitions json file', type: com.mikepenz.aboutlibraries.plugin.AboutLibrariesTask, dependsOn: 'collectDependencies') {
tasks.register('exportLibrariesToJson', AboutLibrariesTask) {
dependsOn 'collectDependencies'
resultDirectory = project.file('src/main/res/raw/')
variant = 'release'
}
@@ -105,8 +107,8 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.preference:preference:1.2.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3'
implementation 'androidx.navigation:navigation-ui-ktx:2.5.3'
implementation 'androidx.navigation:navigation-fragment-ktx:2.6.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.6.0'
implementation 'androidx.core:core-splashscreen:1.0.1'
implementation 'com.google.android.material:material:1.9.0'

View File

@@ -79,14 +79,9 @@ public class App extends Application {
private void loadAppUiMode() {
switch (SharedPreferencesUtils.getPreferenceUiMode()) {
case LIGHT:
ResourceUtil.setAppUiMode(ResourceUtil.UI_MODE_LIGHT);
break;
case DARK:
ResourceUtil.setAppUiMode(ResourceUtil.UI_MODE_DARK);
break;
default:
ResourceUtil.setAppUiMode(ResourceUtil.getSystemUiMode());
case LIGHT -> ResourceUtil.setAppUiMode(ResourceUtil.UI_MODE_LIGHT);
case DARK -> ResourceUtil.setAppUiMode(ResourceUtil.UI_MODE_DARK);
default -> ResourceUtil.setAppUiMode(ResourceUtil.getSystemUiMode());
}
}

View File

@@ -27,20 +27,11 @@ public class MainActivity extends BaseActivityNormal {
{
for (int i = 0; i < 35; i++) {
switch (i + 2) {
case 2:
BASE_ITEMS[i] = ResourceUtil.getString(R.string.tool_converter_base_2);
break;
case 8:
BASE_ITEMS[i] = ResourceUtil.getString(R.string.tool_converter_base_8);
break;
case 10:
BASE_ITEMS[i] = ResourceUtil.getString(R.string.tool_converter_base_10);
break;
case 16:
BASE_ITEMS[i] = ResourceUtil.getString(R.string.tool_converter_base_16);
break;
default:
BASE_ITEMS[i] = String.valueOf(i + 2);
case 2 -> BASE_ITEMS[i] = ResourceUtil.getString(R.string.tool_converter_base_2);
case 8 -> BASE_ITEMS[i] = ResourceUtil.getString(R.string.tool_converter_base_8);
case 10 -> BASE_ITEMS[i] = ResourceUtil.getString(R.string.tool_converter_base_10);
case 16 -> BASE_ITEMS[i] = ResourceUtil.getString(R.string.tool_converter_base_16);
default -> BASE_ITEMS[i] = String.valueOf(i + 2);
}
}
}

View File

@@ -1,6 +1,6 @@
package com.fatapp.oxygentoolbox.tools.ip;
import android.app.ProgressDialog;
import android.app.AlertDialog;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
@@ -117,15 +117,15 @@ public class MainActivity extends BaseActivityNormal {
private void query() {
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(editTextIpAddress.getWindowToken(), 0);
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle(R.string.tool_ip_querying);
progressDialog.setMessage(ResourceUtil.getString(R.string.tool_ip_wait));
progressDialog.setCancelable(false);
progressDialog.show();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setTitle(ResourceUtil.getString(R.string.tool_ip_querying));
alertDialogBuilder.setMessage(ResourceUtil.getString(R.string.tool_ip_wait));
alertDialogBuilder.setCancelable(false);
AlertDialog alertDialog = alertDialogBuilder.show();
final HttpHelper httpHelper = new HttpHelper(this, URL_QUERY, new ResponseListener() {
@Override
public void onResponse(int code, String responseBody) {
progressDialog.cancel();
alertDialog.cancel();
if (code == 200) {
try {
if (new JSONObject(responseBody).getInt("code") == 1) {
@@ -152,7 +152,7 @@ public class MainActivity extends BaseActivityNormal {
@Override
public void onFailure() {
progressDialog.cancel();
alertDialog.cancel();
setUnknown();
Snackbar.make(getConstraintLayoutRoot(), ResourceUtil.getString(R.string.tool_ip_query_failed), Snackbar.LENGTH_LONG).show();
}

View File

@@ -95,6 +95,7 @@ public class LibrariesActivity extends AppCompatActivity {
getMenuInflater().inflate(R.menu.seach_view, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
assert searchView != null;
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setMaxWidth(Integer.MAX_VALUE);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

View File

@@ -29,6 +29,7 @@ import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.StringJoiner;
public class LibrariesAdapter extends RecyclerView.Adapter<LibrariesAdapter.ViewHolder> implements Filterable {
@@ -70,8 +71,8 @@ public class LibrariesAdapter extends RecyclerView.Adapter<LibrariesAdapter.View
String licenseStr = new JSONObject(dependencies.getLicenses()).getString(license);
LicenseJson licenseObject = new Gson().fromJson(licenseStr, new TypeToken<LicenseJson>() {
}.getType());
new MaterialAlertDialogBuilder(context).setMessage(licenseObject.getContent()).show()
.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
Objects.requireNonNull(new MaterialAlertDialogBuilder(context).setMessage(licenseObject.getContent()).show()
.getWindow()).setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
} catch (JSONException e) {
new MaterialAlertDialogBuilder(context).setMessage(String.format("Could not load license \"%s\"", license)).show();
}

View File

@@ -24,7 +24,7 @@ import java.util.Collections;
public class ToolsAdapter extends RecyclerView.Adapter<ToolsAdapter.ViewHolder> {
private ViewGroup parent;
private Activity activity;
private final Activity activity;
public ToolsAdapter(Activity activity) {
this.activity = activity;

View File

@@ -35,63 +35,44 @@ public class ThemesAdapter extends RecyclerView.Adapter<ThemesAdapter.ViewHolder
holder.getColorName().setText(ResourceUtil.getStringArray(R.array.setting_theme_array)[position]);
holder.getCheck().setSelected(position == SharedPreferencesUtils.getPreferenceTheme().ordinal());
switch (position) {
case 0:
setColor(holder, R.color.red_primary, R.color.red_primary_dark, R.color.red_primary_light, R.color.red_accent);
break;
case 1:
setColor(holder, R.color.pink_primary, R.color.pink_primary_dark, R.color.pink_primary_light, R.color.pink_accent);
break;
case 2:
setColor(holder, R.color.purple_primary, R.color.purple_primary_dark, R.color.purple_primary_light, R.color.purple_accent);
break;
case 3:
setColor(holder, R.color.deep_purple_primary, R.color.deep_purple_primary_dark, R.color.deep_purple_primary_light, R.color.deep_purple_accent);
break;
case 4:
setColor(holder, R.color.indigo_primary, R.color.indigo_primary_dark, R.color.indigo_primary_light, R.color.indigo_accent);
break;
case 5:
setColor(holder, R.color.blue_primary, R.color.blue_primary_dark, R.color.blue_primary_light, R.color.blue_accent);
break;
case 6:
setColor(holder, R.color.light_blue_primary, R.color.light_blue_primary_dark, R.color.light_blue_primary_light, R.color.light_blue_accent);
break;
case 7:
setColor(holder, R.color.cyan_primary, R.color.cyan_primary_dark, R.color.cyan_primary_light, R.color.cyan_accent);
break;
case 8:
setColor(holder, R.color.teal_primary, R.color.teal_primary_dark, R.color.teal_primary_light, R.color.teal_accent);
break;
case 9:
setColor(holder, R.color.green_primary, R.color.green_primary_dark, R.color.green_primary_light, R.color.green_accent);
break;
case 10:
setColor(holder, R.color.light_green_primary, R.color.light_green_primary_dark, R.color.light_green_primary_light, R.color.light_green_accent);
break;
case 11:
setColor(holder, R.color.lime_primary, R.color.lime_primary_dark, R.color.lime_primary_light, R.color.lime_accent);
break;
case 12:
setColor(holder, R.color.yellow_primary, R.color.yellow_primary_dark, R.color.yellow_primary_light, R.color.yellow_accent);
break;
case 13:
setColor(holder, R.color.amber_primary, R.color.amber_primary_dark, R.color.amber_primary_light, R.color.amber_accent);
break;
case 14:
setColor(holder, R.color.orange_primary, R.color.orange_primary_dark, R.color.orange_primary_light, R.color.orange_accent);
break;
case 15:
setColor(holder, R.color.deep_orange_primary, R.color.deep_orange_primary_dark, R.color.deep_orange_primary_light, R.color.deep_orange_accent);
break;
case 16:
setColor(holder, R.color.brown_primary, R.color.brown_primary_dark, R.color.brown_primary_light, R.color.brown_accent);
break;
case 17:
setColor(holder, R.color.grey_primary, R.color.grey_primary_dark, R.color.grey_primary_light, R.color.grey_accent);
break;
case 18:
setColor(holder, R.color.blue_grey_primary, R.color.blue_grey_primary_dark, R.color.blue_grey_primary_light, R.color.blue_grey_accent);
break;
case 0 ->
setColor(holder, R.color.red_primary, R.color.red_primary_dark, R.color.red_primary_light, R.color.red_accent);
case 1 ->
setColor(holder, R.color.pink_primary, R.color.pink_primary_dark, R.color.pink_primary_light, R.color.pink_accent);
case 2 ->
setColor(holder, R.color.purple_primary, R.color.purple_primary_dark, R.color.purple_primary_light, R.color.purple_accent);
case 3 ->
setColor(holder, R.color.deep_purple_primary, R.color.deep_purple_primary_dark, R.color.deep_purple_primary_light, R.color.deep_purple_accent);
case 4 ->
setColor(holder, R.color.indigo_primary, R.color.indigo_primary_dark, R.color.indigo_primary_light, R.color.indigo_accent);
case 5 ->
setColor(holder, R.color.blue_primary, R.color.blue_primary_dark, R.color.blue_primary_light, R.color.blue_accent);
case 6 ->
setColor(holder, R.color.light_blue_primary, R.color.light_blue_primary_dark, R.color.light_blue_primary_light, R.color.light_blue_accent);
case 7 ->
setColor(holder, R.color.cyan_primary, R.color.cyan_primary_dark, R.color.cyan_primary_light, R.color.cyan_accent);
case 8 ->
setColor(holder, R.color.teal_primary, R.color.teal_primary_dark, R.color.teal_primary_light, R.color.teal_accent);
case 9 ->
setColor(holder, R.color.green_primary, R.color.green_primary_dark, R.color.green_primary_light, R.color.green_accent);
case 10 ->
setColor(holder, R.color.light_green_primary, R.color.light_green_primary_dark, R.color.light_green_primary_light, R.color.light_green_accent);
case 11 ->
setColor(holder, R.color.lime_primary, R.color.lime_primary_dark, R.color.lime_primary_light, R.color.lime_accent);
case 12 ->
setColor(holder, R.color.yellow_primary, R.color.yellow_primary_dark, R.color.yellow_primary_light, R.color.yellow_accent);
case 13 ->
setColor(holder, R.color.amber_primary, R.color.amber_primary_dark, R.color.amber_primary_light, R.color.amber_accent);
case 14 ->
setColor(holder, R.color.orange_primary, R.color.orange_primary_dark, R.color.orange_primary_light, R.color.orange_accent);
case 15 ->
setColor(holder, R.color.deep_orange_primary, R.color.deep_orange_primary_dark, R.color.deep_orange_primary_light, R.color.deep_orange_accent);
case 16 ->
setColor(holder, R.color.brown_primary, R.color.brown_primary_dark, R.color.brown_primary_light, R.color.brown_accent);
case 17 ->
setColor(holder, R.color.grey_primary, R.color.grey_primary_dark, R.color.grey_primary_light, R.color.grey_accent);
case 18 ->
setColor(holder, R.color.blue_grey_primary, R.color.blue_grey_primary_dark, R.color.blue_grey_primary_light, R.color.blue_grey_accent);
}
holder.getThemeLayout().setOnClickListener(view -> {