Skip to content

Commit

Permalink
优化搜索内容
Browse files Browse the repository at this point in the history
  • Loading branch information
cokkeijigen committed Apr 28, 2022
1 parent 5ffb937 commit 01988dc
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 11 deletions.
6 changes: 3 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ android {
applicationId "ss.colytitse.setappfull"
minSdkVersion 27
targetSdkVersion 32
versionCode 120
versionName "beta-1.2"
versionCode 131
versionName "ver-1.3.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

android.applicationVariants.all {
variant ->
variant.outputs.all {
outputFileName
= "setappfull_${variant.versionName}_${new Date().format("HHmmss", TimeZone.getTimeZone("GMT+8"))}.apk"
= "setappfull_${variant.versionName}_${new Date().format("yyMMddHHmm", TimeZone.getTimeZone("GMT+8"))}.apk"
}
}

Expand Down
32 changes: 24 additions & 8 deletions app/src/main/java/ss/colytitse/setappfull/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
Expand All @@ -26,6 +28,7 @@ public class MainActivity extends Activity {
private static final String TAG = "test_";
private List<PackageInfo> systemAppList;
private List<PackageInfo> userAppList;
private boolean EditSearchInit = false;
private Context mContext;

private void initApplicationList() {
Expand Down Expand Up @@ -87,15 +90,14 @@ public void initMainActivityListView(List<PackageInfo> appList){
public void onSwitchListView(View view) {
EditText edit_insearch = findViewById(R.id.edit_insearch);
String inText = edit_insearch.getText().toString();
boolean isSearchView = edit_insearch.getVisibility() == View.VISIBLE && inText.length() > 0;
TextView appListName = findViewById(R.id.app_list_name);
if(getOnSwitchListView(mContext) == USER_VIEW){
new AppSettings(mContext).savonSwitch(SYSTEM_VIEW);
initMainActivityListView(isSearchView ? searchAppView(inText) : systemAppList);
initMainActivityListView(searchAppView(inText));
appListName.setText(String.format("(%s)", getResources().getString(R.string.list_system)));
}else {
new AppSettings(mContext).savonSwitch(USER_VIEW);
initMainActivityListView(isSearchView ? searchAppView(inText) : userAppList);
initMainActivityListView(searchAppView(inText));
appListName.setText(String.format("(%s)", getResources().getString(R.string.list_user)));
}
}
Expand All @@ -105,14 +107,27 @@ public void insearch(View view) {
ImageButton btn_insearch = findViewById(R.id.btn_insearch);
if(edit_insearch.getVisibility() == View.GONE){
edit_insearch.setVisibility(View.VISIBLE);
if (!EditSearchInit){
EditSearchInit = true;
edit_insearch.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
String inText = editable.toString();
initMainActivityListView(searchAppView(inText));
}
});
}
btn_insearch.setImageDrawable(getResources().getDrawable(R.drawable.ic_baseline_close_24, getTheme()));
edit_insearch.setOnEditorActionListener((textView, actionId, keyEvent) -> {
if (actionId == EditorInfo.IME_ACTION_NEXT) {
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(view.getWindowToken(), 0);
String intext = textView.getText().toString();
List<PackageInfo> result = searchAppView(intext);
if (result != null) initMainActivityListView(result);
return true;
}
return false;
Expand All @@ -128,9 +143,10 @@ public void insearch(View view) {
}

private List<PackageInfo> searchAppView(String intext) {
if (intext.length() < 1) return null;
List<PackageInfo> appList = getOnSwitchListView(mContext) == USER_VIEW ? userAppList : systemAppList;
if (intext.length() < 1) return appList;
List<PackageInfo> result = new ArrayList<>();
for (PackageInfo info : getOnSwitchListView(mContext) == USER_VIEW ? userAppList : systemAppList)
for (PackageInfo info : appList)
if (info.packageName.contains(intext) || getPackageManager().getApplicationLabel(info.applicationInfo).toString().contains(intext))
result.add(info);
return result;
Expand Down

0 comments on commit 01988dc

Please sign in to comment.