Chipppppppppp / LIME

Adkiller for LINE
MIT License
448 stars 29 forks source link

Create Unsent message RECdevelopment #157

Closed areteruhiro closed 1 month ago

areteruhiro commented 3 months ago

確認項目


説明

取り消されたメッセージのリスト化

areteruhiro commented 3 months ago

レビュー恐れ入ります。

現在、検討箇所があります。

現在の未読のまま閲覧 ボタンのところに、新しくボタンを作成して、ログの名前を後から変更出来るようにするかを悩んでいます。 現在このようなレイアウトで、ただでさえボタンが多すぎるような気もしています。 Screenshot_20240831-233811.png

また、現在の名前入力ボタンと、取り消しカウントボタンの2つが 重複?している?かどちらかしか作成されていないので、Chipさんに改善していただけるようなら、改善して頂きたいなと思っております。 

その他につきましては、今回の@s1204IT さんの コメントにそって進めさせて頂きたいと思っております。よろしくお願いします。

 かなり話は変わりますが以下の非rootでのWear端末でのリンクについて、方法をread記載するかはお任せします。(QRコード認証廃止を加速させるおそれがあるため) https://github.com/Chipppppppppp/LIME/issues/156#issuecomment-2322908803

areteruhiro commented 3 months ago

ユーザー名どこかで取得できないかなと思ってたら、 他のテーブルに保存されてました。そりゃそうですよね (contactsテーブル) なので名前入力云々は必要ないです コード書き換えますね

naver_lineに囚われすぎていた

areteruhiro commented 2 months ago

@s1204IT リソースからの呼び出しにすると、そのidみつからないよ!っておこられてしまうのですが、どうしたらいいですか?

areteruhiro commented 2 months ago

エラーコード

log ``` android.content.res.Resources$NotFoundException: String resource ID #0x7f100034 at android.content.res.Resources.getText(Resources.java:462) at sjdeGERmjyxXPSjcQKfocSk.ources.getText(SourceFile:8) at android.widget.TextView.setText(TextView.java:7578) at io.test.hiro.lime.Main$1.afterHookedMethod(Main.java:76) at tRAwuJss.SzE.Nvxrx.fDI.XposedBridge$LegacyApiSupport.handleAfter(Unknown Source:33) at org.lsposed.lspd.impl.LSPosedBridge$NativeHooker.callback(Unknown Source:279) at LSPHooker_.constructor(Unknown Source:14) at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:742) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:894) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:849) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1011) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:972) at android.view.LayoutInflater.inflate(LayoutInflater.java:570) at java.lang.reflect.Method.invoke(Native Method) at jJnzE.JD.HcqaT.PkmmxqA.B.fEXj.HookBridge.invokeOriginalMethod(Native Method) at org.lsposed.lspd.impl.LSPosedBridge$NativeHooker.callback(Unknown Source:187) at LSPHooker_.inflate(Unknown Source:21) at android.view.LayoutInflater.inflate(LayoutInflater.java:462) at com.linecorp.line.chatlist.view.fragment.ChatListFragment$b.(Unknown Source:22) at com.linecorp.line.chatlist.view.fragment.ChatListFragment.onCreateView(Unknown Source:22) at androidx.fragment.app.Fragment.performCreateView(Unknown Source:25) at androidx.fragment.app.M.d(Unknown Source:174) at androidx.fragment.app.M.i(Unknown Source:165) at androidx.fragment.app.FragmentManager.D(Unknown Source:1225) at androidx.fragment.app.FragmentManager.e0(Unknown Source:81) at androidx.fragment.app.FragmentManager.C(Unknown Source:31) at androidx.fragment.app.a.s(Unknown Source:10) at androidx.fragment.app.J.d(Unknown Source:12) at androidx.viewpager.widget.ViewPager.t(Unknown Source:667) at androidx.viewpager.widget.ViewPager.s(Unknown Source:2) at androidx.viewpager.widget.ViewPager.onMeasure(Unknown Source:186) at android.view.View.measure(View.java:27866) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:735) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:481) at android.view.View.measure(View.java:27866) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7028) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1608) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1240) at android.widget.LinearLayout.onMeasure(LinearLayout.java:723) at android.view.View.measure(View.java:27866) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7028) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(Unknown Source:159) at android.view.View.measure(View.java:27866) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7028) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1608) at android.widget.LinearLayout.measureVertical(LinearLayout.java:878) at android.widget.LinearLayout.onMeasure(LinearLayout.java:721) at android.view.View.measure(View.java:27866) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7028) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.view.View.measure(View.java:27866) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7028) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1608) at android.widget.LinearLayout.measureVertical(LinearLayout.java:878) at android.widget.LinearLayout.onMeasure(LinearLayout.java:721) at android.view.View.measure(View.java:27866) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7028) 2024-09-09 20:05:10.068 29328-29328 LSPosed-Bridge jp.naver.line.android E at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at com.android.internal.policy.DecorView.onMeasure(DecorView.java:768) at android.view.View.measure(View.java:27866) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:4486) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:3012) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3333) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2718) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9937) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1406) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415) at android.view.Choreographer.doCallbacks(Choreographer.java:1015) at android.view.Choreographer.doFrame(Choreographer.java:945) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:232) at android.os.Looper.loop(Looper.java:317) at android.app.ActivityThread.main(ActivityThread.java:8592) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878) ```
s1204IT commented 2 months ago

Resources$NotFoundExceptionですよね。
それ僕も別のプロジェクトでなって困ってるんですよね。

僕も検証中なので、進捗があれば報告します。

areteruhiro commented 2 months ago

恐らくなんですが、フックしようとしているアプリ(今回の場合line)のリソースIDから取得してしまってResources$NotFoundExceptionが発生したのだと思います。 なので取得する先を指定してあげることで解決できました

areteruhiro commented 2 months ago

他のメゾットで、同じようにしようとするとエラー出るのでまだ、直さないとだめですね、、

areteruhiro commented 2 months ago

かなり無理矢理ですが、対応させました。

areteruhiro commented 2 months ago

重大なバグが発生しました。

修正するまで、マージしないでください。

areteruhiro commented 2 months ago

再現の仕方は曖昧なのですが

今回は

バッテリーが0になり、 再度LINEをひらくと無限に同じidが書き込まれました。処理がおもすぎて開けなくなります。

対策として、同じidがファイルに書かれないようにします。

areteruhiro commented 2 months ago

対応しました。

s1204IT commented 2 months ago

最終修正が完了次第、マージします。

areteruhiro commented 1 month ago

すみません、前回した作業忘れてしまって、意味のわからないコミットしました・ https://github.com/Chipppppppppp/LIME/pull/157/commits/a1a25f739e42842703ab09941b355abcabc0f4be をみてください

s1204IT commented 1 month ago

マージの準備が出来たら、ファイル名の修正(.javaを付ける)や、改行の数・ネストの空白の修正等を行ってからレビュー状態にしてください。

areteruhiro commented 1 month ago

レビューリクエスト勝手に送信されちゃうんですよね、

.java 付けないといけないの さきほど、初めてしったので、すみません、、気をつけます。

AndroidStudioだと、ファイルつくるときにファイルの拡張子決めるので。