From c549537d3819fb4e6f04789933254ef5beb5f3cb Mon Sep 17 00:00:00 2001 From: Ra1nbowNeko Date: Sun, 12 Mar 2023 21:41:16 +0800 Subject: [PATCH 1/4] Add logout feature --- .../liahnu/auto_login/view/MainActivity.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java b/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java index ed756bf..4638e5d 100644 --- a/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java +++ b/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java @@ -120,7 +120,9 @@ protected void onCreate(Bundle savedInstanceState) { button_logout.setOnClickListener(view -> { Log.d(TAG, "Click Logout"); - String s = callAccount(false); + //String s = callAccount(false); + String username = accountEdit.getText().toString(); + String s = uncallAccount(username); showMessage(s); }); @@ -196,5 +198,27 @@ public String callAccount(boolean status){ return execresult.toString(); } + public String uncallAccount(String account){ + Process p; + String tmptext; + String cmd = "srun"; + StringBuilder execresult = new StringBuilder(); + + String path = "/system/bin/linker64 "+ce.getExecutableFilePath() + "/"+cmd +" logout -u " + + account + " -d -s http://10.129.1.1"; + Log.i(TAG,path); + try { + p = Runtime.getRuntime().exec(path); + BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); + while ((tmptext = br.readLine()) != null) { + execresult.append(tmptext).append("\n"); + } + }catch (IOException e){ + Log.i(TAG,e.toString()); + } + Log.i(TAG,execresult.toString()); + return execresult.toString(); + } + } \ No newline at end of file From 741696dd5a808a15ed828a673ed30df5a24b3c2a Mon Sep 17 00:00:00 2001 From: Ra1nbowNeko Date: Sun, 12 Mar 2023 22:16:17 +0800 Subject: [PATCH 2/4] Add logout feature. --- .../liahnu/auto_login/view/MainActivity.java | 38 ++++++------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java b/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java index 4638e5d..ffe3e4c 100644 --- a/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java +++ b/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java @@ -82,7 +82,7 @@ protected void onCreate(Bundle savedInstanceState) { if (isAutoLogin) { loginPass.setChecked(true); - String s = callAccount(true); + String s = callAccount(true,""); showMessage(s); } button1.setOnClickListener(view -> { @@ -110,7 +110,7 @@ protected void onCreate(Bundle savedInstanceState) { if(config.getUsers().get(0).getUsername()!=null||config.getUsers().get(0).getPassword()!=null) { showMessage("保存成功"); - String s = callAccount(true); + String s = callAccount(true,""); showMessage(s); } else{ showMessage("保存失败"); @@ -122,7 +122,7 @@ protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "Click Logout"); //String s = callAccount(false); String username = accountEdit.getText().toString(); - String s = uncallAccount(username); + String s = callAccount(false,username); showMessage(s); }); @@ -174,38 +174,24 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) { } // 1登录 0注销 - public String callAccount(boolean status){ + public String callAccount(boolean status,String username){ Process p; String tmptext; String cmd = "srun"; String ConfigPath = "config.json"; String statusStr = status?"login":"logout"; StringBuilder execresult = new StringBuilder(); + String path = ""; - String path = "/system/bin/linker64 "+ce.getExecutableFilePath() + "/"+cmd +" login" - + " -c " +ce.getExecutableFilePath()+"/"+ConfigPath; - Log.i(TAG,path); - try { - p = Runtime.getRuntime().exec(path); - BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); - while ((tmptext = br.readLine()) != null) { - execresult.append(tmptext).append("\n"); - } - }catch (IOException e){ - Log.i(TAG,e.toString()); + if (statusStr.equals("login")) { + path = "/system/bin/linker64 " + ce.getExecutableFilePath() + "/" + cmd + " login" + + " -c " + ce.getExecutableFilePath() + "/" + ConfigPath; + } + else{ + path = "/system/bin/linker64 "+ce.getExecutableFilePath() + "/"+ cmd +" logout -u " + + username + " -d -s http://10.129.1.1"; } - Log.i(TAG,execresult.toString()); - return execresult.toString(); - } - - public String uncallAccount(String account){ - Process p; - String tmptext; - String cmd = "srun"; - StringBuilder execresult = new StringBuilder(); - String path = "/system/bin/linker64 "+ce.getExecutableFilePath() + "/"+cmd +" logout -u " - + account + " -d -s http://10.129.1.1"; Log.i(TAG,path); try { p = Runtime.getRuntime().exec(path); From 011c7ac4128b916f2b0e3db7311eea7071b93555 Mon Sep 17 00:00:00 2001 From: Ra1nbowNeko Date: Sun, 12 Mar 2023 22:43:34 +0800 Subject: [PATCH 3/4] add logout feature --- .../java/com/liahnu/auto_login/view/MainActivity.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java b/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java index ffe3e4c..f42e0bc 100644 --- a/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java +++ b/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java @@ -82,7 +82,7 @@ protected void onCreate(Bundle savedInstanceState) { if (isAutoLogin) { loginPass.setChecked(true); - String s = callAccount(true,""); + String s = callAccount(true); showMessage(s); } button1.setOnClickListener(view -> { @@ -110,7 +110,7 @@ protected void onCreate(Bundle savedInstanceState) { if(config.getUsers().get(0).getUsername()!=null||config.getUsers().get(0).getPassword()!=null) { showMessage("保存成功"); - String s = callAccount(true,""); + String s = callAccount(true); showMessage(s); } else{ showMessage("保存失败"); @@ -122,7 +122,7 @@ protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "Click Logout"); //String s = callAccount(false); String username = accountEdit.getText().toString(); - String s = callAccount(false,username); + String s = callAccount(false); showMessage(s); }); @@ -174,7 +174,7 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) { } // 1登录 0注销 - public String callAccount(boolean status,String username){ + public String callAccount(boolean status){ Process p; String tmptext; String cmd = "srun"; @@ -189,7 +189,7 @@ public String callAccount(boolean status,String username){ } else{ path = "/system/bin/linker64 "+ce.getExecutableFilePath() + "/"+ cmd +" logout -u " - + username + " -d -s http://10.129.1.1"; + + config.getUsers().get(0).getUsername() + " -d -s http://10.129.1.1"; } Log.i(TAG,path); From e691b4bc9e2781b22c29cb40689fd90843eef6dd Mon Sep 17 00:00:00 2001 From: Ra1nbowNeko Date: Sun, 12 Mar 2023 22:51:14 +0800 Subject: [PATCH 4/4] add logout feature --- app/src/main/java/com/liahnu/auto_login/view/MainActivity.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java b/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java index f42e0bc..684b971 100644 --- a/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java +++ b/app/src/main/java/com/liahnu/auto_login/view/MainActivity.java @@ -120,8 +120,6 @@ protected void onCreate(Bundle savedInstanceState) { button_logout.setOnClickListener(view -> { Log.d(TAG, "Click Logout"); - //String s = callAccount(false); - String username = accountEdit.getText().toString(); String s = callAccount(false); showMessage(s); });