From 02ea0ee07a1e983ad7114c43e2d2b4723d33b61d Mon Sep 17 00:00:00 2001 From: "sifacai@outlook.com" Date: Mon, 29 Aug 2022 00:42:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A3=80=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 1 + .../org/sifacai/vlcjellyfin/MainActivity.java | 48 +++++++------- app/src/main/res/layout/activity_search.xml | 12 +++- app/src/main/res/layout/dialog_login.xml | 62 +++++++++++++++++++ app/src/main/res/values/theme.xml | 4 +- 5 files changed, 102 insertions(+), 25 deletions(-) create mode 100644 app/src/main/res/layout/dialog_login.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index b288df3..0421336 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -10,6 +10,7 @@ + diff --git a/app/src/main/java/org/sifacai/vlcjellyfin/MainActivity.java b/app/src/main/java/org/sifacai/vlcjellyfin/MainActivity.java index cc872a2..f984f21 100644 --- a/app/src/main/java/org/sifacai/vlcjellyfin/MainActivity.java +++ b/app/src/main/java/org/sifacai/vlcjellyfin/MainActivity.java @@ -1,26 +1,23 @@ package org.sifacai.vlcjellyfin; -import androidx.appcompat.app.AppCompatActivity; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import android.app.Activity; -import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.Intent; -import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; -import android.view.ViewGroup; import android.widget.Button; +import android.widget.CheckBox; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; +import androidx.appcompat.app.AlertDialog; + import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; @@ -112,22 +109,22 @@ public class MainActivity extends BaseActivity { private void addRowTvRecyclerView(String title, JsonArray data, boolean horizon) { Log.d(TAG, "addRowTvRecyclerView: " + data.toString()); JRecyclerView tvRecyclerView = (JRecyclerView) LayoutInflater.from(this) - .inflate(R.layout.home_horizon_tvrecycler,null); - ((V7LinearLayoutManager)tvRecyclerView.getLayoutManager()).setOrientation(V7LinearLayoutManager.HORIZONTAL); + .inflate(R.layout.home_horizon_tvrecycler, null); + ((V7LinearLayoutManager) tvRecyclerView.getLayoutManager()).setOrientation(V7LinearLayoutManager.HORIZONTAL); JAdapter jAdapter = new JAdapter(data, horizon); jAdapter.setOnItemClickListener(new JAdapter.OnItemClickListener() { @Override public void onClick(JsonObject jo) { - String type = Utils.getJsonString(jo,"Type").getAsString(); + String type = Utils.getJsonString(jo, "Type").getAsString(); String itemId = jo.get("Id").getAsString(); Intent intent = null; - if(type.equals("Folder") || type.equals("CollectionFolder")){ - intent = new Intent(mActivity,CollectionActivity.class); - }else{ - intent = new Intent(mActivity,DetailActivity.class); + if (type.equals("Folder") || type.equals("CollectionFolder")) { + intent = new Intent(mActivity, CollectionActivity.class); + } else { + intent = new Intent(mActivity, DetailActivity.class); } - intent.putExtra("itemId",itemId); + intent.putExtra("itemId", itemId); mActivity.startActivity(intent); } }); @@ -186,8 +183,8 @@ public class MainActivity extends BaseActivity { LinearLayout ll = new LinearLayout(builder.getContext()); ll.setOrientation(LinearLayout.VERTICAL); - int pd = Utils.getPixelsFromDp(mActivity,mActivity.getResources().getDimensionPixelSize(R.dimen.padding_border)); - ll.setPadding(pd,pd,pd,pd); + int pd = Utils.getPixelsFromDp(mActivity, mActivity.getResources().getDimensionPixelSize(R.dimen.padding_border)); + ll.setPadding(pd, pd, pd, pd); EditText urlInput = new EditText(ll.getContext()); urlInput.setHint("服务器地址"); urlInput.setText(Utils.config.getJellyfinUrl()); @@ -197,6 +194,9 @@ public class MainActivity extends BaseActivity { EditText pwInput = new EditText(ll.getContext()); pwInput.setHint("密码"); pwInput.setText(Utils.config.getPassWord()); + CheckBox saveCheckBox = new CheckBox(ll.getContext()); + saveCheckBox.setText("保存用户"); + saveCheckBox.setBackground(this.getResources().getDrawable(R.drawable.shape_user_focus)); Button commitBtn = new Button(ll.getContext()); commitBtn.setText("确定"); commitBtn.setOnClickListener(new View.OnClickListener() { @@ -213,8 +213,10 @@ public class MainActivity extends BaseActivity { showLoadingDialog("正在验证用户名密码……"); Utils.config.setJellyfinUrl(url); if (authenticateByName(un, pw)) { - Utils.config.setUserName(un); - Utils.config.setPassWord(pw); + if(saveCheckBox.isChecked()) { + Utils.config.setUserName(un); + Utils.config.setPassWord(pw); + } dialog.dismiss(); initData(); //刷新首页 } else { @@ -240,6 +242,7 @@ public class MainActivity extends BaseActivity { ll.addView(urlInput); ll.addView(unInput); ll.addView(pwInput); + ll.addView(saveCheckBox); ll.addView(commitBtn); ll.addView(canelBtn); dialog.setView(ll); @@ -262,7 +265,7 @@ public class MainActivity extends BaseActivity { if (valid) { String publicUrl = url + "/system/info/public"; String publicInfo = Utils.okhttpSend(publicUrl); - JsonObject serverInfo = Utils.JsonToObj(publicInfo,JsonObject.class); + JsonObject serverInfo = Utils.JsonToObj(publicInfo, JsonObject.class); if (serverInfo != null) { String ServerId = serverInfo.get("Id").getAsString(); if (ServerId == null || ServerId.length() == 0) { @@ -287,9 +290,9 @@ public class MainActivity extends BaseActivity { String reqjson = "{\"Username\":\"" + username + "\",\"Pw\":\"" + password + "\"}"; String userinfo = Utils.okhttpSend(url, reqjson); Log.d(TAG, "authenticateByName: userinf:" + userinfo); - JsonObject userObj = Utils.JsonToObj(userinfo,JsonObject.class); + JsonObject userObj = Utils.JsonToObj(userinfo, JsonObject.class); if (userObj != null) { - String userId = Utils.getJsonString(userObj,"User").getAsJsonObject().get("Id").getAsString(); + String userId = Utils.getJsonString(userObj, "User").getAsJsonObject().get("Id").getAsString(); String Token = userObj.get("AccessToken").getAsString(); if (Token != null) { Utils.UserId = userId; @@ -310,6 +313,7 @@ public class MainActivity extends BaseActivity { } private long exitTime = 0; + public void exit() { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index 90b89b2..02b23de 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -6,11 +6,16 @@ android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/theme.xml b/app/src/main/res/values/theme.xml index f0f6359..200710f 100644 --- a/app/src/main/res/values/theme.xml +++ b/app/src/main/res/values/theme.xml @@ -10,9 +10,9 @@ @android:color/white - #E6E6FA + - #1C71A9 + @android:color/white