1- package com.wmods.wppenhacer.xposed.features.general ;
2-
3-
4- import android.view.Menu;
5- import android.view.MenuItem;
6-
7- import androidx.annotation.NonNull;
8-
9- import com.wmods.wppenhacer.R;
10- import com.wmods.wppenhacer.xposed.core.Feature;
11- import com.wmods.wppenhacer.xposed.core.WppCore;
12- import com.wmods.wppenhacer.xposed.core.components.FMessageWpp;
13- import com.wmods.wppenhacer.xposed.core.db.MessageStore;
14- import com.wmods.wppenhacer.xposed.core.devkit.Unobfuscator;
15- import com.wmods.wppenhacer.xposed.features.listeners.MenuStatusListener;
16-
17- import org.luckypray.dexkit.query.enums.StringMatchType;
18-
19- import java.util.List;
20-
21- import de.robv.android.xposed.XSharedPreferences;
22-
23- public class DeleteStatus extends Feature {
24-
25-
26- public DeleteStatus (@NonNull ClassLoader classLoader, @NonNull XSharedPreferences preferences) {
27- super (classLoader, preferences);
28- }
29-
30- @Override
31- public void doHook() throws Throwable {
32-
33- var StatusPlaybackActivityClass = Unobfuscator .findFirstClassUsingName(classLoader, StringMatchType .EndsWith , " StatusPlaybackActivity" );
34-
35- var item = new MenuStatusListener .OnMenuItemStatusListener () {
36-
37- @Override
38- public MenuItem addMenu(Menu menu, List <FMessageWpp > fMessageWppList, int currentIndex) {
39- if (menu.findItem(R .string.delete_for_me) != null ) return null ;
40- var fMessage = fMessageWppList.get(currentIndex);
41- if (fMessage.getKey().isFromMe) return null ;
42- return menu.add(0 , R .string.delete_for_me, 0 , R .string.delete_for_me);
1+ package com.wmods.wppenhacer.xposed.features.general
2+
3+ import android.view.Menu
4+ import android.view.MenuItem
5+ import com.wmods.wppenhacer.R
6+ import com.wmods.wppenhacer.xposed.core.Feature
7+ import com.wmods.wppenhacer.xposed.core.WppCore
8+ import com.wmods.wppenhacer.xposed.core.db.MessageStore
9+ import com.wmods.wppenhacer.xposed.core.devkit.Unobfuscator
10+ import com.wmods.wppenhacer.xposed.features.listeners.MenuStatusListener
11+ import de.robv.android.xposed.XSharedPreferences
12+ import org.luckypray.dexkit.query.enums.StringMatchType
13+
14+ class DeleteStatus (classLoader : ClassLoader , preferences : XSharedPreferences ) : Feature(classLoader, preferences) {
15+
16+ @Throws(Throwable ::class )
17+ override fun doHook () {
18+ val statusPlaybackActivityClass = Unobfuscator .findFirstClassUsingName(classLoader, StringMatchType .EndsWith , " StatusPlaybackActivity" )
19+
20+ val item = object : MenuStatusListener .OnMenuItemStatusListener () {
21+
22+ override fun addMenu (menu : Menu , statusData : MenuStatusListener .StatusData ): MenuItem ? {
23+ if (menu.findItem(R .string.delete_for_me) != null ) return null
24+ if (statusData.currentItem.isFromMe) return null
25+ return menu.add(0 , R .string.delete_for_me, 0 , R .string.delete_for_me)
4326 }
4427
45- @Override
46- public void onClick(MenuItem item, Object fragmentInstance, List <FMessageWpp > fMessageWppList, int currentIndex) {
28+ override fun onClick (item : MenuItem , statusData : MenuStatusListener .StatusData ) {
4729 try {
48- var key = fMessageWppList.get(currentIndex).getKey();
49- MessageStore .getInstance().deleteStatusByMessageKey(key.messageID);
50- var activity = WppCore .getCurrentActivity();
51- if (activity != null && StatusPlaybackActivityClass .isInstance(activity)) {
52- activity.recreate();
30+ MessageStore .getInstance().deleteStatusByMessageKey(statusData.currentItem.messageID)
31+
32+ val activity = WppCore .getCurrentActivity()
33+ if (activity != null && statusPlaybackActivityClass .isInstance(activity)) {
34+ activity.recreate()
5335 }
54- } catch (Exception e ) {
55- logDebug(e);
36+ } catch (e : Exception ) {
37+ logDebug(e)
5638 }
5739 }
58- };
59- MenuStatusListener .getMenuStatuses() .add(item);
40+ }
41+ MenuStatusListener .menuStatuses .add(item)
6042 }
6143
62- @NonNull
63- @Override
64- public String getPluginName() {
65- return " Delete Status" ;
44+ override fun getPluginName (): String {
45+ return " Delete Status"
6646 }
6747}
0 commit comments