Skip to content

Commit

Permalink
优化模块界面,添加未激活提示
Browse files Browse the repository at this point in the history
  • Loading branch information
cinit committed Apr 6, 2019
1 parent 05270d4 commit 2952201
Show file tree
Hide file tree
Showing 3 changed files with 216 additions and 72 deletions.
113 changes: 110 additions & 3 deletions app/src/main/java/nil/nadph/qnotified/ConfigActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,65 @@
import android.widget.*;
import android.view.*;
import android.graphics.*;
import android.text.*;
import android.text.method.*;
import android.text.style.*;
import android.net.*;
import android.content.*;

public class ConfigActivity extends Activity implements Runnable{

private boolean isVisible=false;
private boolean needRun=false;;
private TextView statusTv;
private TextView statusTvB;
private Looper mainLooper;


int color;
int step;//(0-255)
int stage;//0-5

/** 没良心的method */
@Override
public void run(){
if(Looper.myLooper()==mainLooper){
statusTv.setTextColor(color);
return;
}
while(isVisible&&needRun){
try{
Thread.sleep(100);
}catch(InterruptedException e){}
step+=30;
stage=(stage+step/256)%6;
step=step%256;
switch(stage){
case 0:
color=Color.argb(255,255,step,0);//R-- RG-
break;
case 1:
color=Color.argb(255,255-step,255,0);//RG- -G-
break;
case 2:
color=Color.argb(255,0,255,step);//-G- -GB
break;
case 3:
color=Color.argb(255,0,255-step,255);//-GB --B
break;
case 4:
color=Color.argb(255,step,0,255);//--B R-B
break;
case 5:
color=Color.argb(255,255,0,255-step);//R-B R--
break;
}
runOnUiThread(this);
}
}


public class ConfigActivity extends Activity{



//ClazzExplorer ce;
@Override
Expand All @@ -17,6 +72,7 @@ protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String str="";
mainLooper=Looper.getMainLooper();
try{
str+="SystemClassLoader:"+ClassLoader.getSystemClassLoader()+
"\nActiveModuleVersion:"+Utils.getActiveModuleVersion()
Expand All @@ -25,11 +81,62 @@ protected void onCreate(Bundle savedInstanceState){
str+=r;
}
((TextView)findViewById(R.id.mainTextView)).setText(str);
statusTv=(TextView)findViewById(R.id.mainTextViewStatusA);
statusTvB=(TextView)findViewById(R.id.mainTextViewStatusB);
if(Utils.getActiveModuleVersion()==0){
statusTv.setText("!!! 错误:本模块没有激活 !!!");
statusTvB.setText("请在正确安装Xposed框架后,在Xposed Installer中(重新)勾选QNotified以激活本模块");
needRun=true;
}else{
statusTv.setText("模块已激活");
statusTv.setTextColor(0xB000FF00);
statusTvB.setText("更新模块后需要重启手机方可生效\n当前生效版本号见下方ActiveModuleVersion");
}
TextView tv=(TextView)findViewById(R.id.mainTextViewQqNum);
try{
//tv.setMovementMethod(LinkMovementMethod.getInstance());
SpannableString ss = new SpannableString("QQ: 1041703712");
ss.setSpan(new URLSpan("http://wpa.qq.com/msgrd?v=3&uin=1041703712&site=qq&menu=yes"), 4, 14,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(ss);
tv.setClickable(true);
}catch(Throwable e){
tv.setText(""+e);
}
}

public void onAddQqClick(View v){
Uri uri = Uri.parse("http://wpa.qq.com/msgrd?v=3&uin=1041703712&site=qq&menu=yes");
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
}

@Override
protected void onPause(){
isVisible=false;
super.onPause();
}

@Override
protected void onStop(){
isVisible=false;
super.onStop();
}

@Override
protected void onResume(){
isVisible=true;
if(needRun){
new Thread(this).start();
}
super.onResume();
}



@Override
public void onPointerCaptureChanged(boolean hasCapture){
// TODO: Implement this method
}

}
19 changes: 8 additions & 11 deletions app/src/main/java/nil/nadph/qnotified/QQMainHook.java
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,15 @@ public void afterTextChanged(Editable s){


private void performHook(ClassLoader classLoader){

if("true".equals(System.getProperty(QN_FULL_TAG))){
XposedBridge.log("Err:Qnotified reloaded??");
System.exit(-1);
//QNotified updated(in HookLoader mode),kill QQ to make user restart it.
if(Utils.DEBUG){
if("true".equals(System.getProperty(QN_FULL_TAG))){
XposedBridge.log("Err:Qnotified reloaded??");
System.exit(-1);
//QNotified updated(in HookLoader mode),kill QQ to make user restart it.
}
System.setProperty(QN_FULL_TAG,"true");
}

System.setProperty(QN_FULL_TAG,"true");
QConst.init(classLoader);

//log("Clases init done");
if(classLoader==null)log("ERROR:classLoader==null");
/*try{
Expand All @@ -149,8 +148,6 @@ protected void afterHookedMethod(MethodHookParam param){
}
});



/*findAndHookMethod(load("com.tencent.mobileqq.data.MessageForQQWalletMsg"),"doParse",new XC_MethodHook(200){
@Override
protected void afterHookedMethod(MethodHookParam param){
Expand Down Expand Up @@ -261,7 +258,7 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable{
}
});

/*
findAndHookMethod(load("friendlist/DelFriendReq"),"writeTo",load("com/qq/taf/jce/JceOutputStream"),new XC_MethodHook(70){
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable{
Expand Down
156 changes: 98 additions & 58 deletions app/src/main/res/layout/main.xml
Original file line number Diff line number Diff line change
@@ -1,75 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
android:layout_width="match_parent"
android:gravity="center">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="QQ删好友通知"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="支持QQ版本:7.6.0-7.9.9"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="QQ删好友通知"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="请在QQ内查看"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="支持QQ版本:7.6.0-7.9.9"/>

<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="暂不支持TIM 暂不支持轻聊版/国际版"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="请在QQ内查看"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="QQ-&gt;联系人-&gt;好友(最下方)-&gt;历史好友"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="暂不支持TIM 暂不支持轻聊版/国际版"/>

<TextView
android:id="@+id/mainTextView"
android:text="ERROR!"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="QQ-&gt;联系人-&gt;好友(最下方)-&gt;历史好友"/>

<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Source code(有问题推issue):"/>
<TextView
android:id="@+id/mainTextView"
android:text="ERROR!"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"/>

<TextView
android:autoLink="web"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="https://github.com/cinit/QNotified"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Source code(有问题+Issue):"/>

<TextView
android:autoLink="all"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Author QQ: 1041703712"/>
<TextView
android:autoLink="web"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="https://github.com/cinit/QNotified"/>

<TextView
android:autoLink="email"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Mail: xenonhydride@gmail.com"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:clickable="true"
android:autoLink="web"
android:text="Author QQ: 1041703712"
android:id="@+id/mainTextViewQqNum"
android:onClick="onAddQqClick"/>

<TextView
android:autoLink="all"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Mail: xenonhydride@gmail.com"/>

<TextView
android:autoLink="web"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Telegram: https://t.me/Auride"/>

</LinearLayout>

<TextView
android:autoLink="web"
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Telegram: https://t.me/Auride"/>
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_alignParentTop="true">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="!!! 本模块没有激活 !!!"
android:padding="5dp"
android:gravity="center"
android:id="@+id/mainTextViewStatusA"/>

<View
android:background="?android:attr/dividerVertical"
android:layout_height="1dp"
android:layout_width="match_parent"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="_status_2"
android:gravity="center"
android:id="@+id/mainTextViewStatusB"/>

</LinearLayout>

</LinearLayout>
</RelativeLayout>

0 comments on commit 2952201

Please sign in to comment.