diff --git a/.idea/misc.xml b/.idea/misc.xml index 7f6d989..b288df3 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,7 @@ + diff --git a/app/src/main/java/org/sifacai/vlcjellyfin/JAdapter.java b/app/src/main/java/org/sifacai/vlcjellyfin/JAdapter.java index 44a412c..aeb6583 100644 --- a/app/src/main/java/org/sifacai/vlcjellyfin/JAdapter.java +++ b/app/src/main/java/org/sifacai/vlcjellyfin/JAdapter.java @@ -116,7 +116,6 @@ public class JAdapter extends RecyclerView.Adapter { @Override public int getItemCount() { int count = items.size(); - Log.d(TAG, "getItemCount: 数据总数:" + count); return count; } diff --git a/app/src/main/java/org/sifacai/vlcjellyfin/SearchActivity.java b/app/src/main/java/org/sifacai/vlcjellyfin/SearchActivity.java index 603f5b7..9f6f3cd 100644 --- a/app/src/main/java/org/sifacai/vlcjellyfin/SearchActivity.java +++ b/app/src/main/java/org/sifacai/vlcjellyfin/SearchActivity.java @@ -1,44 +1,103 @@ package org.sifacai.vlcjellyfin; import android.os.Bundle; +import android.view.View; +import android.widget.EditText; +import android.widget.ImageView; import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; import com.owen.tvrecyclerview.widget.TvRecyclerView; import com.owen.tvrecyclerview.widget.V7GridLayoutManager; public class SearchActivity extends BaseActivity{ - private TvRecyclerView mGridContiner = null; + private TvRecyclerView mGridContiner; + private JAdapter adapter; private final int limit = 24; private String BaseUrl; + private EditText searchTermEdit; + private ImageView searchBtn; + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_collection); + setContentView(R.layout.activity_search); if (Utils.UserId.equals("") || Utils.AccessToken.equals("")) { finish(); } + ActionBar actionBar = getSupportActionBar(); + if(null != actionBar){ + ImageView acb = actionBar.getCustomView().findViewById(R.id.activeBar_searchBtn); + if(null != acb){ + acb.setVisibility(View.GONE); + } + } + mGridContiner = findViewById(R.id.mGridView); V7GridLayoutManager v7GridLayoutManager = new V7GridLayoutManager(this,6); mGridContiner.setLayoutManager(v7GridLayoutManager); mGridContiner.setItemAnimator(null); //防崩溃 + adapter = new JAdapter(new JsonArray()); + mGridContiner.setAdapter(adapter); + BaseUrl = "/Users/"+Utils.UserId+"/Items?"; BaseUrl += "Fields=PrimaryImageAspectRatio,CanDelete,BasicSyncInfo,MediaSourceCount"; BaseUrl += "&Recursive=true&EnableTotalRecordCount=false&ImageTypeLimit=1&IncludePeople=false"; BaseUrl += "&IncludeMedia=true&IncludeGenres=false&IncludeStudios=false&IncludeArtists=false"; BaseUrl += "&Limit="+limit; + + searchTermEdit = findViewById(R.id.searchTermEdit); + searchBtn = findViewById(R.id.searchBtn); + searchBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + String st = searchTermEdit.getText().toString().trim(); + if(st.length()>0){ + Search(st); + } + } + }); + + searchTermEdit.requestFocus(); } private void Search(String searchTerm) { - String url = BaseUrl + "&searchTerm="+searchTerm+"&IncludeItemTypes=Movie"; - - + String movieUrl = BaseUrl + "&searchTerm="+searchTerm+"&IncludeItemTypes=Movie"; + String seriesUrl = BaseUrl + "&searchTerm="+searchTerm+"&IncludeItemTypes=Series"; + String episodeUrl = BaseUrl + "&searchTerm="+searchTerm+"&IncludeItemTypes=Episode"; + new Thread(new Runnable() { + @Override + public void run() { + showLoadingDialog("搜索中………………"); + String movieStr = Utils.okhttpSend(movieUrl); + String seriesStr = Utils.okhttpSend(seriesUrl); + JsonObject moviejob = Utils.JsonToObj(movieStr,JsonObject.class); + JsonObject seriesjob = Utils.JsonToObj(seriesStr,JsonObject.class); + JsonArray movieItems = moviejob.get("Items").getAsJsonArray(); + JsonArray seriesItems = seriesjob.get("Items").getAsJsonArray(); + movieItems.addAll(seriesItems); + fillItems(movieItems); + dismissLoadingDialog(); + } + }).start(); + } + private void fillItems(JsonArray items){ + mAA.runOnUiThread(new Runnable() { + @Override + public void run() { + adapter.clearItems(); + adapter.addItems(items); + } + }); } } diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index c704b5b..90b89b2 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -7,13 +7,26 @@ + android:layout_height="32dp" + android:padding="@dimen/padding_border" + android:orientation="horizontal" > + android:id="@+id/searchTermEdit" + android:layout_width="600dp" + android:layout_height="match_parent" + android:background="@drawable/shape_user_focus" + android:focusable="true" + android:tooltipText="关键字"/> + +