diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 61a9130..fb7f4a8 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index d5d35ec..d27ac8f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,20 @@ - + + + + diff --git a/app/build.gradle b/app/build.gradle index a37515f..b6fc004 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,15 +2,15 @@ apply plugin: 'com.android.application' apply plugin: 'com.google.android.gms.oss-licenses-plugin' android { - compileSdkVersion 30 + compileSdkVersion 31 buildToolsVersion "30.0.3" defaultConfig { applicationId 'com.kangtech.tauonremote' minSdkVersion 22 - targetSdkVersion 30 - versionCode 5 - versionName "1.0 beta3" + targetSdkVersion 31 + versionCode 6 + versionName "1.0 beta4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -37,18 +37,18 @@ android { dependencies { - implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'com.google.android.material:material:1.2.1' - implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'com.google.android.material:material:1.4.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' //implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0' //implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0' implementation 'androidx.multidex:multidex:2.0.1' - implementation 'androidx.navigation:navigation-fragment:2.3.2' - implementation 'androidx.navigation:navigation-ui:2.3.2' - testImplementation 'junit:junit:4.13.1' - androidTestImplementation 'androidx.test.ext:junit:1.1.2' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + implementation 'androidx.navigation:navigation-fragment:2.3.5' + implementation 'androidx.navigation:navigation-ui:2.3.5' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' // Retrofit implementation 'com.squareup.retrofit2:retrofit:2.9.0' diff --git a/app/src/main/java/com/kangtech/tauonremote/view/AddServer.java b/app/src/main/java/com/kangtech/tauonremote/view/AddServer.java index f43b357..cdc046c 100644 --- a/app/src/main/java/com/kangtech/tauonremote/view/AddServer.java +++ b/app/src/main/java/com/kangtech/tauonremote/view/AddServer.java @@ -69,12 +69,12 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add_server); - //set default NIGHT/Dark theme +/* //set default NIGHT/Dark theme if (SharedPreferencesUtils.getBoolean("light_enable", false)) { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); } else { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); - } + }*/ if (SharedPreferencesUtils.getBoolean("set_server", false)) { Intent intent = new Intent(this, MainActivity.class); @@ -133,7 +133,7 @@ public boolean onMenuItemClick(MenuItem item) { public void run() { refreshLayout.setRefreshing(true); } - },delay); + }, delay); } } @@ -208,7 +208,7 @@ protected Void doInBackground(Void... voids) { new Handler(Looper.getMainLooper()).post(new Runnable() { @Override public void run() { - adapter.notifyDataSetChanged(); + adapter.notifyDataSetChanged(); } }); @@ -250,7 +250,7 @@ private String getJSON(String url) { StringBuilder sb = new StringBuilder(); String line; while ((line = br.readLine()) != null) { - sb.append(line+"\n"); + sb.append(line + "\n"); } br.close(); return sb.toString(); diff --git a/app/src/main/java/com/kangtech/tauonremote/view/SettingsActivity.java b/app/src/main/java/com/kangtech/tauonremote/view/SettingsActivity.java index 9a2ed38..849268b 100644 --- a/app/src/main/java/com/kangtech/tauonremote/view/SettingsActivity.java +++ b/app/src/main/java/com/kangtech/tauonremote/view/SettingsActivity.java @@ -65,7 +65,7 @@ public void onClick(View v) { } }); - SwitchMaterial switchMaterial = findViewById(R.id.sm_setting_light); +/* SwitchMaterial switchMaterial = findViewById(R.id.sm_setting_light); if (AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_YES) { switchMaterial.setChecked(false); } else { @@ -88,7 +88,7 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); } } - }); + });*/ SwitchMaterial smNotif = findViewById(R.id.sm_setting_notif); TextView tvInfoNotif = findViewById(R.id.tv_info_notif_enable); diff --git a/app/src/main/java/com/kangtech/tauonremote/view/fragment/album/AlbumFragment.java b/app/src/main/java/com/kangtech/tauonremote/view/fragment/album/AlbumFragment.java index 4b42149..88f8dd8 100644 --- a/app/src/main/java/com/kangtech/tauonremote/view/fragment/album/AlbumFragment.java +++ b/app/src/main/java/com/kangtech/tauonremote/view/fragment/album/AlbumFragment.java @@ -2,15 +2,6 @@ import android.content.Context; import android.os.Bundle; - -import androidx.annotation.Nullable; -import androidx.appcompat.widget.SearchView; -import androidx.appcompat.widget.Toolbar; -import androidx.fragment.app.Fragment; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import android.os.Handler; import android.util.Log; import android.view.LayoutInflater; @@ -19,21 +10,26 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; -import android.widget.TextView; -import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.appcompat.widget.SearchView; +import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.kangtech.tauonremote.R; import com.kangtech.tauonremote.adapter.AlbumListAdapter; -import com.kangtech.tauonremote.adapter.TrackListAdapter; import com.kangtech.tauonremote.api.ApiServiceInterface; import com.kangtech.tauonremote.model.album.AlbumListModel; import com.kangtech.tauonremote.util.Server; import com.kangtech.tauonremote.util.SharedPreferencesUtils; +import java.util.Objects; + import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.annotations.NonNull; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; @@ -52,7 +48,7 @@ public class AlbumFragment extends Fragment { private static AlbumFragment frag; public AlbumFragment() { - setHasOptionsMenu(true); + //setHasOptionsMenu(true); } public static AlbumFragment newInstance(String param1, String param2) { @@ -65,10 +61,12 @@ public static AlbumFragment newInstance(String param1, String param2) { } public static void hideSearch() { - if (!searchView.isIconified()) { - searchView.clearFocus(); - searchView.setQuery("", false); - searchItem.setVisible(false); + if (searchView != null) { + if (!searchView.isIconified()) { + searchView.clearFocus(); + searchView.setQuery("", false); + searchItem.setVisible(false); + } } } @@ -80,7 +78,7 @@ public static void reload() { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setHasOptionsMenu(true); + //setHasOptionsMenu(true); apiServiceInterface = Server.getApiServiceInterface(); @@ -161,17 +159,17 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, mFab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - searchItem.setVisible(true); + Objects.requireNonNull(searchItem).setVisible(true); searchView.setIconified(false); + } }); - return v; } @Override - public void onCreateOptionsMenu(@androidx.annotation.NonNull Menu menu, @androidx.annotation.NonNull MenuInflater inflater) { + public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) { inflater.inflate(R.menu.track_menu, menu); searchItem = menu.findItem(R.id.menu_search_track); diff --git a/app/src/main/java/com/kangtech/tauonremote/view/fragment/track/TrackFragment.java b/app/src/main/java/com/kangtech/tauonremote/view/fragment/track/TrackFragment.java index cabf0aa..a3d901d 100644 --- a/app/src/main/java/com/kangtech/tauonremote/view/fragment/track/TrackFragment.java +++ b/app/src/main/java/com/kangtech/tauonremote/view/fragment/track/TrackFragment.java @@ -1,21 +1,12 @@ package com.kangtech.tauonremote.view.fragment.track; +import static android.content.Context.MODE_PRIVATE; + import android.content.Context; -import android.content.Intent; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; - -import androidx.annotation.NonNull; -import androidx.annotation.RequiresApi; -import androidx.appcompat.widget.SearchView; -import androidx.appcompat.widget.Toolbar; -import androidx.fragment.app.Fragment; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import android.os.Handler; -import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -25,32 +16,29 @@ import android.view.ViewGroup; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; +import androidx.appcompat.widget.SearchView; +import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.kangtech.tauonremote.R; import com.kangtech.tauonremote.adapter.TrackListAdapter; import com.kangtech.tauonremote.api.ApiServiceInterface; -import com.kangtech.tauonremote.model.playlist.PlaylistModel; import com.kangtech.tauonremote.model.track.TrackListModel; -import com.kangtech.tauonremote.model.track.TrackModel; import com.kangtech.tauonremote.util.Server; import com.kangtech.tauonremote.util.SharedPreferencesUtils; import com.kangtech.tauonremote.view.MainActivity; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Objects; - import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; -import static android.content.Context.MODE_PRIVATE; - public class TrackFragment extends Fragment { diff --git a/app/src/main/res/layout/activity_add_server.xml b/app/src/main/res/layout/activity_add_server.xml index 47281a9..a088723 100644 --- a/app/src/main/res/layout/activity_add_server.xml +++ b/app/src/main/res/layout/activity_add_server.xml @@ -49,7 +49,7 @@ + android:text="or enter IP address manually (for example: 192.168.1.2) and click Remote. \nMake sure the device is on the same local network (and port 7814/TCP is open)"/> - - + --> + app:layout_constraintTop_toBottomOf="@+id/ll_setting_changeserver_utama"> - - #FFBB86FC - #FF6200EE - #FF3700B3 - #FF03DAC5 - #FF018786 - - - #0F0F0F - #1A1A1A - #1D8680 - #DD3D63 - #09EC7F - #141414 - #3C3C3C - #1E1E1E - #D2D2D2 - #373737 - #FF000000 - #FFFFFFFF - \ No newline at end of file diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml deleted file mode 100644 index 9f68d61..0000000 --- a/app/src/main/res/values-night/themes.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index dc77750..583e95a 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -6,17 +6,17 @@ #FF03DAC5 #FF018786 - - #FFFFFF - #D9D9D9 + + #0F0F0F + #1A1A1A #1D8680 #DD3D63 #09EC7F - #E7E7E7 - #909090 - #EAEAEA - #131313 - #747474 - #FFFFFF - #000000 + #141414 + #3C3C3C + #1E1E1E + #D2D2D2 + #373737 + #FF000000 + #FFFFFFFF \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index db8295b..5318295 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,6 +1,6 @@ - -