Skip to content

Commit

Permalink
improve code
Browse files Browse the repository at this point in the history
  • Loading branch information
Dev4Mod committed Aug 10, 2024
1 parent 4f5d9cf commit 160ba9f
Show file tree
Hide file tree
Showing 17 changed files with 431 additions and 238 deletions.
4 changes: 2 additions & 2 deletions .idea/deploymentTargetSelector.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ android {
ndk {
abiFilters.add("armeabi-v7a")
abiFilters.add("arm64-v8a")
abiFilters.add("x86_64")
abiFilters.add("x86")
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,4 +137,9 @@ public static boolean isXposedEnabled() {
return false;
}

@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return super.onSupportNavigateUp();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,11 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable S
super.onCreatePreferences(savedInstanceState, rootKey);
setPreferencesFromResource(R.xml.fragment_customization, rootKey);
}

@Override
public void onResume() {
super.onResume();
setDisplayHomeAsUpEnabled(false);
}

}
Original file line number Diff line number Diff line change
@@ -1,19 +1,69 @@
package com.wmods.wppenhacer.ui.fragments;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.wmods.wppenhacer.R;
import com.wmods.wppenhacer.ui.fragments.base.BaseFragment;
import com.wmods.wppenhacer.ui.fragments.base.BasePreferenceFragment;

public class GeneralFragment extends BasePreferenceFragment {

public class GeneralFragment extends BaseFragment {

@Nullable
@Override
public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
super.onCreatePreferences(savedInstanceState, rootKey);
setPreferencesFromResource(R.xml.fragment_general, rootKey);
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
var root = super.onCreateView(inflater, container, savedInstanceState);
if (savedInstanceState == null) {
getChildFragmentManager().beginTransaction().add(R.id.frag_container, new GeneralPreferenceFragment()).commitNow();
}
return root;
}

public static class GeneralPreferenceFragment extends BasePreferenceFragment {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
super.onCreatePreferences(savedInstanceState, rootKey);
setPreferencesFromResource(R.xml.fragment_general, rootKey);

}

@Override
public void onResume() {
super.onResume();
setDisplayHomeAsUpEnabled(false);
}
}

public static class HomeGeneralPreference extends BasePreferenceFragment {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
super.onCreatePreferences(savedInstanceState, rootKey);
setPreferencesFromResource(R.xml.preference_general_home, rootKey);
setDisplayHomeAsUpEnabled(true);
}
}

public static class HomeScreenGeneralPreference extends BasePreferenceFragment {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
super.onCreatePreferences(savedInstanceState, rootKey);
setPreferencesFromResource(R.xml.preference_general_homescreen, rootKey);
setDisplayHomeAsUpEnabled(true);
}
}

public static class ConversationGeneralPreference extends BasePreferenceFragment {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
super.onCreatePreferences(savedInstanceState, rootKey);
setPreferencesFromResource(R.xml.preference_general_conversation, rootKey);
setDisplayHomeAsUpEnabled(true);
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,12 @@ public View onCreateView(@NonNull LayoutInflater inflater,
return binding.getRoot();
}

@Override
public void onResume() {
super.onResume();
setDisplayHomeAsUpEnabled(false);
}

@SuppressLint("StringFormatInvalid")
private void receiverBroadcastBusiness(Context context, Intent intent) {
binding.statusTitle3.setText(R.string.business_in_background);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Override
public void onResume() {
super.onResume();
setDisplayHomeAsUpEnabled(false);
}


@Override
public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
super.onCreatePreferences(savedInstanceState, rootKey);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable S
setPreferencesFromResource(R.xml.fragment_privacy, rootKey);
}

@Override
public void onResume() {
super.onResume();
setDisplayHomeAsUpEnabled(false);
}


@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
package com.wmods.wppenhacer.ui.fragments.base;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.MenuProvider;
import androidx.fragment.app.Fragment;
Expand All @@ -15,13 +21,24 @@
import com.google.android.material.snackbar.Snackbar;
import com.wmods.wppenhacer.App;
import com.wmods.wppenhacer.R;
import com.wmods.wppenhacer.databinding.BaseFragmentBinding;

import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;

public class BaseFragment extends Fragment {


public BaseFragmentBinding binding;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = BaseFragmentBinding.inflate(inflater, container, false);
return binding.getRoot();
}

public void navigateUp() {
getNavController().navigateUp();
}
Expand Down Expand Up @@ -121,4 +138,13 @@ public void showHint(CharSequence str, boolean lengthShort, CharSequence actionS
});
}

public void setDisplayHomeAsUpEnabled(boolean enabled) {
if (getActivity() == null) return;
var actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(enabled);
}
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@
import android.view.View;
import android.view.ViewGroup;

import androidx.activity.OnBackPressedCallback;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceManager;
Expand All @@ -33,6 +35,12 @@ public abstract class BasePreferenceFragment extends PreferenceFragmentCompat im
public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(requireContext());
mPrefs.registerOnSharedPreferenceChangeListener(this);
requireActivity().getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
getParentFragmentManager().popBackStack();
}
});
}

@NonNull
Expand All @@ -43,6 +51,12 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c
return super.onCreateView(inflater, container, savedInstanceState);
}

@Override
public void onResume() {
super.onResume();
setDisplayHomeAsUpEnabled(true);
}

@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, @Nullable String s) {
Intent intent = new Intent(BuildConfig.APPLICATION_ID + ".MANUAL_RESTART");
Expand Down Expand Up @@ -142,4 +156,12 @@ private void chanceStates(String key) {

}
}

public void setDisplayHomeAsUpEnabled(boolean enabled) {
if (getActivity() == null) return;
var actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(enabled);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -1609,4 +1609,22 @@ public synchronized static Method loadBubbleDrawableMethod(ClassLoader classLoad
return methodData.get(0).getMethodInstance(classLoader);
});
}

public static Method[] loadRootDetector(ClassLoader classLoader) {
var methods = findAllMethodUsingStrings(classLoader, StringMatchType.Contains, "/system/bin/su");
if (methods.length == 0) throw new RuntimeException("RootDetector method not found");
return methods;
}

public static Method loadCheckEmulator(ClassLoader classLoader) throws Exception {
var method = findFirstMethodUsingStrings(classLoader, StringMatchType.Contains, "Android SDK built for x86");
if (method == null) throw new RuntimeException("CheckEmulator method not found");
return method;
}

public static Method loadCheckCustomRom(ClassLoader classLoader) throws Exception {
var method = findFirstMethodUsingStrings(classLoader, StringMatchType.Contains, "cyanogen");
if (method == null) throw new RuntimeException("CheckCustomRom method not found");
return method;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
var fMessage = new FMessageWpp(param.args[0]);
logDebug("MEDIA TYPE", fMessage.getMediaType());
var media_type = fMessage.getMediaType(); // 2 = voice note ; 82 = viewonce note voice; 42 = image view once; 43 = video view once
if (hideonceseen && (media_type == 82 || media_type == 42 || media_type == 43)) {
param.setResult(null);
Expand Down
17 changes: 17 additions & 0 deletions app/src/main/res/layout/base_fragment.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:consumeSystemWindowsInsets="@integer/internal_fragment_insets"
app:edgeToEdge="true"
app:fitsSystemWindowsInsets="@integer/internal_fragment_insets">

<androidx.fragment.app.FragmentContainerView
android:id="@+id/frag_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>
Loading

0 comments on commit 160ba9f

Please sign in to comment.