diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 0d0e3f1..e41ddba 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/README.md b/README.md
index 8e680be..b7187c5 100644
--- a/README.md
+++ b/README.md
@@ -23,14 +23,15 @@ Horrible Subs uses number of open source projects to work properly:
- Notifications might get delayed by 30 minutes (Max).
* In App Search for listing available subs from Horrible Subs
* Views All as well as Current Shows
+ * Lists full weeks schedule day wise(According to User Time)
Mentioned features might not work in upcoming releases but will be fixed soon
- * ~~Lists full weeks Schedule (According to User Time)~~
* ~~Show pages for previous show releases~~
* ~~Search in List~~
#### Release Updates
```
+Schedule Activity - Listing Full Schedule Major Commit - June 27, 2018
Shows Activity - Listing all & current shows, Improved UI Major Commit - June 27, 2018
New Search Activity, Improved Home UI with SearchView, Optimized Data Models Major Commit - June 27, 2018
New Home Activity, Improved Notifications, Improved UI for Releases & Schedule Major Commit - June 27, 2018
@@ -64,7 +65,7 @@ Currently Listing Latest 60 Releases & Reimplemented some features
#### Download
| Type | Date | Version | Api | Download |
| ------ | ------ | ------ | ------ | ------ |
-| Alpha 2 | ------ | ------ | ------ | ------ |
+| Alpha 2 | June 27 2018 | 27 | v4 | [Click Here](https://github.com/Sher1234/HorribleSubs/releases/download/hs-0.2.7/app-debug.apk) |
| Alpha 1 | June 27 2018 | 25 | v4 | [Click Here](https://github.com/Sher1234/HorribleSubs/releases/download/hs-0.2.5/app-debug.apk) |
| **Latest Release** | **April 25, 2018** | **22** | **v3** | **[Click Here](https://github.com/Sher1234/HorribleSubs/releases/download/hs-0.2.2/app-debug.apk)** |
| Release 1 | April 24, 2018 | 21 | v3 | [Click Here](https://github.com/Sher1234/HorribleSubs/releases/download/hs-0.2.1/hs-21.apk) |
diff --git a/app/build.gradle b/app/build.gradle
index 7372219..bf3db68 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,8 +6,8 @@ android {
applicationId "info.horriblesubs.sher"
minSdkVersion 15
targetSdkVersion 28
- versionCode 26
- versionName "0.2.6"
+ versionCode 27
+ versionName "0.2.7"
multiDexEnabled = true
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eadb434..a235aaa 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -19,15 +19,6 @@
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
-
-
-
-
-
-
-
@@ -90,13 +81,12 @@
android:theme="@style/AppTheme.NoActionBar" />
-
+
-
{
+
+ private int i = 0;
+ private ScheduleResponse schedule;
+
+ @Override
+ protected void onPreExecute() {
+ super.onPreExecute();
+ progressBar.requestFocus();
+ progressBar.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ protected Boolean doInBackground(Void... voids) {
+ Retrofit retrofit = AppController.getRetrofit(Api.Link);
+ Api api = retrofit.create(Api.class);
+ Call call = api.getSchedule();
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(@NonNull Call call,
+ @NonNull Response response) {
+ if (response.body() != null)
+ schedule = response.body();
+ i = 1;
+ }
+
+ @Override
+ public void onFailure(@NonNull Call call, @NonNull Throwable t) {
+ t.printStackTrace();
+ i = -1;
+ }
+ });
+ while (true) {
+ if (i != 0)
+ return true;
+ if (isCancelled()) {
+ i = -1;
+ schedule = null;
+ return true;
+ }
+ }
+ }
+
+ @Override
+ protected void onPostExecute(Boolean aBoolean) {
+ super.onPostExecute(aBoolean);
+ progressBar.setVisibility(View.GONE);
+ if (i == 1) {
+ if (schedule == null)
+ Toast.makeText(Schedule.this, "Invalid Subz...", Toast.LENGTH_SHORT).show();
+ else
+ onLoadData(schedule);
+ } else
+ Toast.makeText(Schedule.this, "Server Error...", Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ class PagerAdapter extends FragmentPagerAdapter {
+
+ private final ScheduleResponse scheduleResponse;
+
+ PagerAdapter(FragmentManager fragmentManager, ScheduleResponse scheduleResponse) {
+ super(fragmentManager);
+ this.scheduleResponse = scheduleResponse;
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ return ScheduleFragment.newInstance(scheduleResponse, position);
+ }
+
+ @Override
+ public int getCount() {
+ return 8;
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/adapter/ReleaseRecycler.java b/app/src/main/java/info/horriblesubs/sher/adapter/ReleaseRecycler.java
index f173a75..2025b67 100644
--- a/app/src/main/java/info/horriblesubs/sher/adapter/ReleaseRecycler.java
+++ b/app/src/main/java/info/horriblesubs/sher/adapter/ReleaseRecycler.java
@@ -20,7 +20,7 @@
import info.horriblesubs.sher.model.base.Item;
import info.horriblesubs.sher.model.base.ReleaseItem;
import info.horriblesubs.sher.old.activity.Detail;
-import info.horriblesubs.sher.old.util.DialogX;
+import info.horriblesubs.sher.util.DialogX;
/**
* ReleaseRecycler
diff --git a/app/src/main/java/info/horriblesubs/sher/fragment/HomeFragment2.java b/app/src/main/java/info/horriblesubs/sher/fragment/HomeFragment2.java
index 93556ed..df24edc 100644
--- a/app/src/main/java/info/horriblesubs/sher/fragment/HomeFragment2.java
+++ b/app/src/main/java/info/horriblesubs/sher/fragment/HomeFragment2.java
@@ -1,9 +1,11 @@
package info.horriblesubs.sher.fragment;
+import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.design.button.MaterialButton;
import android.support.transition.ChangeTransform;
import android.support.transition.TransitionInflater;
import android.support.v4.app.Fragment;
@@ -20,12 +22,13 @@
import java.util.List;
import info.horriblesubs.sher.R;
+import info.horriblesubs.sher.activity.Schedule;
import info.horriblesubs.sher.adapter.ReleaseRecycler;
import info.horriblesubs.sher.adapter.ScheduleRecycler;
import info.horriblesubs.sher.model.base.ScheduleItem;
import info.horriblesubs.sher.model.response.HomeResponse;
-public class HomeFragment2 extends Fragment {
+public class HomeFragment2 extends Fragment implements View.OnClickListener {
private static final String ARG_RESPONSE = "RESPONSE-HOME";
private static final String ARG_NUMBER = "RESPONSE-NUMBER";
@@ -33,6 +36,7 @@ public class HomeFragment2 extends Fragment {
private int type;
private HomeResponse homeResponse;
private RecyclerView recyclerView;
+ private MaterialButton button;
private TextView textView;
public static HomeFragment2 newInstance(HomeResponse homeResponse, int i) {
@@ -50,6 +54,9 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
View rootView = inflater.inflate(R.layout.fragment_home_2, container, false);
recyclerView = rootView.findViewById(R.id.recyclerView);
textView = rootView.findViewById(R.id.textView);
+ button = rootView.findViewById(R.id.button);
+ button.setOnClickListener(this);
+ button.setEnabled(false);
return rootView;
}
@@ -96,9 +103,21 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
break;
case 2:
+ button.setEnabled(true);
+ button.setVisibility(View.VISIBLE);
textView.setText(R.string.today_s_schedule);
recyclerView.setAdapter(new ScheduleRecycler(getContext(), getTodaySchedule()));
break;
}
}
+
+ @Override
+ public void onClick(View view) {
+ if (view.getId() == R.id.button) {
+ assert getFragmentManager() != null;
+ getFragmentManager().popBackStack();
+ assert getActivity() != null;
+ getActivity().startActivity(new Intent(getActivity(), Schedule.class));
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/fragment/ScheduleFragment.java b/app/src/main/java/info/horriblesubs/sher/fragment/ScheduleFragment.java
new file mode 100644
index 0000000..e95da52
--- /dev/null
+++ b/app/src/main/java/info/horriblesubs/sher/fragment/ScheduleFragment.java
@@ -0,0 +1,82 @@
+package info.horriblesubs.sher.fragment;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.support.v7.widget.DefaultItemAnimator;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+
+import info.horriblesubs.sher.R;
+import info.horriblesubs.sher.adapter.ScheduleRecycler;
+import info.horriblesubs.sher.model.base.ScheduleItem;
+import info.horriblesubs.sher.model.response.ScheduleResponse;
+
+public class ScheduleFragment extends Fragment {
+
+ private static final String ARG_RESPONSE = "RESPONSE-SCHEDULE";
+ private static final String ARG_NUMBER = "NUMBER-SCHEDULE";
+
+ private ScheduleResponse scheduleResponse;
+ private RecyclerView recyclerView;
+ private int i;
+
+ public static ScheduleFragment newInstance(ScheduleResponse scheduleResponse, int i) {
+ ScheduleFragment fragment = new ScheduleFragment();
+ Bundle args = new Bundle();
+ args.putSerializable(ARG_RESPONSE, scheduleResponse);
+ args.putInt(ARG_NUMBER, i);
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ View rootView = inflater.inflate(R.layout.fragment_shows, container, false);
+ recyclerView = rootView.findViewById(R.id.recyclerView);
+ return rootView;
+ }
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ assert getArguments() != null;
+ scheduleResponse = (ScheduleResponse) getArguments().getSerializable(ARG_RESPONSE);
+ i = getArguments().getInt(ARG_NUMBER, 0);
+ }
+
+ @Override
+ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ recyclerView.setItemAnimator(new DefaultItemAnimator());
+ recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 2));
+ onLoadData();
+ }
+
+ private List getSchedule() {
+ List scheduleItems = new ArrayList<>();
+ Calendar calendar = Calendar.getInstance();
+ for (ScheduleItem item : scheduleResponse.schedule) {
+ calendar.setTime(item.getTime());
+ if (calendar.get(Calendar.DAY_OF_WEEK) == i + 1 && item.isScheduled)
+ scheduleItems.add(item);
+ else if (i == 7 && !item.isScheduled)
+ scheduleItems.add(item);
+ }
+ return scheduleItems;
+ }
+
+ private void onLoadData() {
+ ScheduleRecycler scheduleRecycler = new ScheduleRecycler(getContext(), getSchedule());
+ recyclerView.setAdapter(scheduleRecycler);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/activity/About.java b/app/src/main/java/info/horriblesubs/sher/old/activity/About.java
index c500a1e..9535948 100644
--- a/app/src/main/java/info/horriblesubs/sher/old/activity/About.java
+++ b/app/src/main/java/info/horriblesubs/sher/old/activity/About.java
@@ -42,7 +42,10 @@
import info.horriblesubs.sher.BuildConfig;
import info.horriblesubs.sher.R;
-import info.horriblesubs.sher.old.util.DialogX;
+import info.horriblesubs.sher.activity.Home;
+import info.horriblesubs.sher.activity.Schedule;
+import info.horriblesubs.sher.activity.Shows;
+import info.horriblesubs.sher.util.DialogX;
@SuppressWarnings("all")
@SuppressLint("StaticFieldLeak")
@@ -170,7 +173,7 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
break;
case R.id.navShows:
- intent = new Intent(this, List.class);
+ intent = new Intent(this, Shows.class);
startActivity(intent);
finish();
break;
diff --git a/app/src/main/java/info/horriblesubs/sher/old/activity/Home.java b/app/src/main/java/info/horriblesubs/sher/old/activity/Home.java
deleted file mode 100644
index c468bc5..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/activity/Home.java
+++ /dev/null
@@ -1,250 +0,0 @@
-package info.horriblesubs.sher.old.activity;
-
-import android.annotation.SuppressLint;
-import android.support.v7.app.AppCompatActivity;
-
-@SuppressLint("StaticFieldLeak")
-public class Home extends AppCompatActivity {
-/*
- public static SearchView searchView = null;
- private ImageView imageView;
-
- @Override
- protected void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_home_x);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
-
- final TextView textView = findViewById(R.id.textView);
- BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior
- .from(findViewById(R.id.bottomSheet));
- bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
- bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
- @Override
- public void onStateChanged(@NonNull View bottomSheet, int newState) {
- if (newState == BottomSheetBehavior.STATE_COLLAPSED)
- textView.setCompoundDrawablesWithIntrinsicBounds(null,
- getResources().getDrawable(R.drawable.ic_up), null, null);
- else
- textView.setCompoundDrawablesWithIntrinsicBounds(null,
- getResources().getDrawable(R.drawable.ic_down), null, null);
- }
-
- @Override
- public void onSlide(@NonNull View bottomSheet, float slideOffset) {
-
- }
- });
- RecyclerView recyclerView = findViewById(R.id.recyclerView);
- new FetchScheduleItems().execute("?mode=schedule");
- new LoadScheduleItems(recyclerView, this, null, 1).execute();
-
- Home.searchView = findViewById(R.id.searchView);
- SearchView searchView = Home.searchView;
- EditText editText = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
- editText.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
- editText.setHintTextColor(getResources().getColor(R.color.colorPrimaryDark));
- editText.setGravity(Gravity.CENTER);
- editText.setTextSize((float) 14.5);
- searchView.setQueryHint(getResources().getString(R.string.app_name));
- searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
- @Override
- public boolean onQueryTextSubmit(String query) {
- Intent intent = new Intent(Home.this, Search.class);
- intent.putExtra(Search.SEARCH_HS, query);
- startActivity(intent);
- return true;
- }
-
- @Override
- public boolean onQueryTextChange(String newText) {
- return false;
- }
- });
-
- findViewById(R.id.imageViewDrawer).setOnClickListener(this);
- this.imageView = findViewById(R.id.imageViewNotification);
- this.imageView.setOnClickListener(this);
-
- invalidateNotifications();
-
- NavigationView navigationView = findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
-
- ViewPager viewPager = findViewById(R.id.viewPager);
- TabLayout tabLayout = findViewById(R.id.tabLayout);
- tabLayout.addTab(tabLayout.newTab().setText("All"));
- tabLayout.addTab(tabLayout.newTab().setText("Batches"));
- PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager());
- viewPager.setAdapter(pagerAdapter);
- viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
- tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager));
- }
-
- @Override
- public void onBackPressed() {
- DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
- if (drawerLayout.isDrawerOpen(GravityCompat.START) &&
- !Home.searchView.getQuery().toString().isEmpty()) {
- Home.searchView.setQuery("", false);
- drawerLayout.closeDrawer(GravityCompat.START);
- } else {
- super.onBackPressed();
- }
- }
-
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- Intent intent;
- switch (item.getItemId()) {
- case R.id.navHome:
- break;
-
- case R.id.navSchedule:
- intent = new Intent(this, Schedule.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navFav:
- intent = new Intent(this, Favourite.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navShows:
- intent = new Intent(this, List.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navRss:
- break;
-
- case R.id.navBrowser:
- break;
-
- case R.id.navFeedback:
- break;
-
- case R.id.navShare:
- break;
-
- case R.id.navAbout:
- intent = new Intent(this, About.class);
- startActivity(intent);
- break;
- }
-
- DrawerLayout drawer = findViewById(R.id.drawerLayout);
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.imageViewDrawer:
- DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
- if (drawerLayout.isDrawerOpen(GravityCompat.START))
- drawerLayout.closeDrawer(GravityCompat.START);
- else
- drawerLayout.openDrawer(GravityCompat.START);
- break;
-
- case R.id.imageViewNotification:
- SharedPreferences sharedPreferences = getSharedPreferences("horriblesubs-prefs",
- Context.MODE_PRIVATE);
- boolean b = sharedPreferences.getBoolean("notification-on", false);
- final DialogX dialogX = new DialogX(this);
- if (b) {
- dialogX.setTitle("Disable Notifications")
- .setDescription("This will disable new release notifications, You will not be able receive notifications on any new release.");
- dialogX.positiveButton("OK", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- removeNotificationAlert();
- dialogX.dismiss();
- }
- });
- } else {
- dialogX.setTitle("Enable Notifications")
- .setDescription("This will enable new release notifications, You will receive notifications on every new release.");
- dialogX.positiveButton("OK", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- setNotificationAlert();
- dialogX.dismiss();
- }
- });
- }
- dialogX.negativeButton("CANCEL", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialogX.dismiss();
- }
- });
- dialogX.show();
- break;
- }
- }
-
- private void invalidateNotifications() {
- SharedPreferences sharedPreferences = this
- .getSharedPreferences("horriblesubs-prefs", Context.MODE_PRIVATE);
- boolean b = sharedPreferences.getBoolean("notification-on", false);
- if (b) {
- imageView.setContentDescription("Disable Notifications");
- imageView.setImageResource(R.drawable.ic_notifications_on);
- } else {
- imageView.setContentDescription("Enable Notifications");
- imageView.setImageResource(R.drawable.ic_notifications_off);
- }
- }
-
- private void removeNotificationAlert() {
- SharedPreferences sharedPreferences = this.getSharedPreferences("horriblesubs-prefs", Context.MODE_PRIVATE);
- sharedPreferences.edit().putBoolean("notification-on", false).apply();
- FirebaseMessaging.getInstance().unsubscribeFromTopic("all");
- Intent intent = new Intent(Home.this, Notification.class);
- PendingIntent pendingIntent = PendingIntent
- .getBroadcast(Home.this, 4869, intent, 0);
- AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
- assert alarmManager != null;
- alarmManager.cancel(pendingIntent);
- invalidateNotifications();
- }
-
- private void setNotificationAlert() {
- SharedPreferences sharedPreferences = this.getSharedPreferences("horriblesubs-prefs", Context.MODE_PRIVATE);
- sharedPreferences.edit().putBoolean("notification-on", true).apply();
- FirebaseMessaging.getInstance().subscribeToTopic("all");
- Intent intent = new Intent(Home.this, Notification.class);
- PendingIntent pendingIntent = PendingIntent
- .getBroadcast(Home.this, 4869, intent, 0);
- AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
- assert alarmManager != null;
- alarmManager.setInexactRepeating(AlarmManager.RTC, System.currentTimeMillis(),
- AlarmManager.INTERVAL_HOUR, pendingIntent);
- invalidateNotifications();
- }
-
- class PagerAdapter extends FragmentPagerAdapter {
-
- PagerAdapter(FragmentManager fragmentManager) {
- super(fragmentManager);
- }
-
- @Override
- public Fragment getItem(int position) {
- return info.horriblesubs.sher.old.fragment.Home.newInstance(position);
- }
-
- @Override
- public int getCount() {
- return 2;
- }
- }
-*/
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/activity/List.java b/app/src/main/java/info/horriblesubs/sher/old/activity/List.java
deleted file mode 100644
index 07d5d01..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/activity/List.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package info.horriblesubs.sher.old.activity;
-
-import android.annotation.SuppressLint;
-import android.support.v7.app.AppCompatActivity;
-
-@SuppressLint("StaticFieldLeak")
-public class List extends AppCompatActivity {
-/*
- @Override
- protected void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_home_x);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
-
- final TextView textView = findViewById(R.id.textView);
- BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior
- .from(findViewById(R.id.bottomSheet));
- bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
- bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
- @Override
- public void onStateChanged(@NonNull View bottomSheet, int newState) {
- if (newState == BottomSheetBehavior.STATE_COLLAPSED)
- textView.setCompoundDrawablesWithIntrinsicBounds(null,
- getResources().getDrawable(R.drawable.ic_up), null, null);
- else
- textView.setCompoundDrawablesWithIntrinsicBounds(null,
- getResources().getDrawable(R.drawable.ic_down), null, null);
- }
-
- @Override
- public void onSlide(@NonNull View bottomSheet, float slideOffset) {
-
- }
- });
- RecyclerView recyclerView = findViewById(R.id.recyclerView);
- new FetchScheduleItems().execute("?mode=schedule");
- new LoadScheduleItems(recyclerView, this, null, 1).execute();
-
- Home.searchView = findViewById(R.id.searchView);
- SearchView searchView = Home.searchView;
- EditText editText = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
- editText.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
- editText.setHintTextColor(getResources().getColor(R.color.colorPrimaryDark));
- editText.setGravity(Gravity.CENTER);
- editText.setTextSize((float) 14.5);
- searchView.setQueryHint(getResources().getString(R.string.shows));
-
- findViewById(R.id.imageViewDrawer).setOnClickListener(this);
- findViewById(R.id.imageViewNotification).setVisibility(View.INVISIBLE);
- findViewById(R.id.imageViewNotification).setEnabled(false);
- findViewById(R.id.imageViewNotification).setClickable(false);
-
- NavigationView navigationView = findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
-
- ViewPager viewPager = findViewById(R.id.viewPager);
- TabLayout tabLayout = findViewById(R.id.tabLayout);
- tabLayout.addTab(tabLayout.newTab().setText("Current Shows"));
- tabLayout.addTab(tabLayout.newTab().setText("All"));
- PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager());
- viewPager.setAdapter(pagerAdapter);
- viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
- tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager));
- }
-
- @Override
- public void onBackPressed() {
- DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
- if (drawerLayout.isDrawerOpen(GravityCompat.START) &&
- !Home.searchView.getQuery().toString().isEmpty()) {
- Home.searchView.setQuery("", false);
- drawerLayout.closeDrawer(GravityCompat.START);
- } else {
- super.onBackPressed();
- }
- }
-
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- Intent intent;
- switch (item.getItemId()) {
- case R.id.navHome:
- intent = new Intent(this, Home.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navSchedule:
- intent = new Intent(this, Schedule.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navFav:
- intent = new Intent(this, Favourite.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navShows:
- break;
-
- case R.id.navRss:
- break;
-
- case R.id.navBrowser:
- break;
-
- case R.id.navFeedback:
- break;
-
- case R.id.navAbout:
- intent = new Intent(this, About.class);
- startActivity(intent);
- break;
-
- case R.id.navShare:
- break;
-
- }
-
- DrawerLayout drawer = findViewById(R.id.drawerLayout);
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.imageViewDrawer:
- DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
- if (drawerLayout.isDrawerOpen(GravityCompat.START))
- drawerLayout.closeDrawer(GravityCompat.START);
- else
- drawerLayout.openDrawer(GravityCompat.START);
- break;
- }
- }
-
- class PagerAdapter extends FragmentPagerAdapter {
-
- PagerAdapter(FragmentManager fragmentManager) {
- super(fragmentManager);
- }
-
- @Override
- public Fragment getItem(int position) {
- return info.horriblesubs.sher.old.fragment.List.newInstance(position);
- }
-
- @Override
- public int getCount() {
- return 2;
- }
- }
-*/
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/activity/Schedule.java b/app/src/main/java/info/horriblesubs/sher/old/activity/Schedule.java
deleted file mode 100644
index 1a5cdb4..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/activity/Schedule.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package info.horriblesubs.sher.old.activity;
-
-import android.annotation.SuppressLint;
-import android.support.v7.app.AppCompatActivity;
-
-@SuppressLint("StaticFieldLeak")
-public class Schedule extends AppCompatActivity {
-/*
- public static java.util.List scheduleItems;
- private final String[] DAYS = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
- "Friday", "Saturday", "To be Scheduled"};
-
- @Override
- protected void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_home_x);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
-
- final TextView textView = findViewById(R.id.textView);
- RecyclerView recyclerView = findViewById(R.id.recyclerView);
- BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior
- .from(findViewById(R.id.bottomSheet));
- bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
- bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
- @Override
- public void onStateChanged(@NonNull View bottomSheet, int newState) {
- if (newState == BottomSheetBehavior.STATE_COLLAPSED)
- textView.setCompoundDrawablesWithIntrinsicBounds(null,
- getResources().getDrawable(R.drawable.ic_up), null, null);
- else
- textView.setCompoundDrawablesWithIntrinsicBounds(null,
- getResources().getDrawable(R.drawable.ic_down), null, null);
- }
-
- @Override
- public void onSlide(@NonNull View bottomSheet, float slideOffset) {
-
- }
- });
- new FetchScheduleItems().execute("?mode=schedule");
- new LoadScheduleItems(recyclerView, this, null, 1).execute();
-
- Home.searchView = findViewById(R.id.searchView);
- SearchView searchView = Home.searchView;
- searchView.setQueryHint(getResources().getString(R.string.schedule));
- EditText editText = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
- editText.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
- editText.setHintTextColor(getResources().getColor(R.color.colorPrimaryDark));
- editText.setGravity(Gravity.CENTER);
- editText.setTextSize((float) 14.5);
-
- findViewById(R.id.imageViewDrawer).setOnClickListener(this);
- findViewById(R.id.imageViewNotification).setVisibility(View.INVISIBLE);
- findViewById(R.id.imageViewNotification).setEnabled(false);
- findViewById(R.id.imageViewNotification).setClickable(false);
-
- NavigationView navigationView = findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
-
- ViewPager viewPager = findViewById(R.id.viewPager);
- TabLayout tabLayout = findViewById(R.id.tabLayout);
- tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
- for (String s : DAYS)
- tabLayout.addTab(tabLayout.newTab().setText(s));
- PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager());
- viewPager.setAdapter(pagerAdapter);
- viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
- tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager));
- }
-
- @Override
- public void onBackPressed() {
- DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
- if (drawerLayout.isDrawerOpen(GravityCompat.START) &&
- !Home.searchView.getQuery().toString().isEmpty()) {
- Home.searchView.setQuery("", false);
- drawerLayout.closeDrawer(GravityCompat.START);
- } else {
- super.onBackPressed();
- }
- }
-
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- Intent intent;
- switch (item.getItemId()) {
- case R.id.navHome:
- intent = new Intent(this, Home.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navSchedule:
- break;
-
- case R.id.navShows:
- intent = new Intent(this, List.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navRss:
- break;
-
- case R.id.navBrowser:
- break;
-
- case R.id.navFeedback:
- break;
-
- case R.id.navShare:
- break;
-
- case R.id.navFav:
- intent = new Intent(this, Favourite.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navAbout:
- intent = new Intent(this, About.class);
- startActivity(intent);
- break;
- }
-
- DrawerLayout drawer = findViewById(R.id.drawerLayout);
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.imageViewDrawer:
- DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
- if (drawerLayout.isDrawerOpen(GravityCompat.START))
- drawerLayout.closeDrawer(GravityCompat.START);
- else
- drawerLayout.openDrawer(GravityCompat.START);
- break;
- }
- }
-
- class PagerAdapter extends FragmentPagerAdapter {
-
- PagerAdapter(FragmentManager fragmentManager) {
- super(fragmentManager);
- }
-
- @Override
- public Fragment getItem(int position) {
- return info.horriblesubs.sher.old.fragment.Schedule
- .newInstance(position + 2);
- }
-
- @Override
- public int getCount() {
- return 8;
- }
- }
-*/
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/activity/Search.java b/app/src/main/java/info/horriblesubs/sher/old/activity/Search.java
deleted file mode 100644
index 5fac7a7..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/activity/Search.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package info.horriblesubs.sher.old.activity;
-
-import android.annotation.SuppressLint;
-import android.support.v7.app.AppCompatActivity;
-
-@SuppressLint("StaticFieldLeak")
-public class Search extends AppCompatActivity {
-/*
- public static final String SEARCH_HS = "HSS_PARAM";
- private RecyclerView recyclerView;
- private SwipeRefreshLayout swipeRefreshLayout;
-
- @Override
- protected void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_search);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
-
- SearchView searchView = findViewById(R.id.searchView);
- EditText editText = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
- editText.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
- editText.setHintTextColor(getResources().getColor(R.color.colorPrimaryDark));
- editText.setGravity(Gravity.CENTER);
- editText.setTextSize((float) 14.5);
-
- recyclerView = findViewById(R.id.recyclerView);
- swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout);
-
- String searchQuery = null;
- Intent intent = getIntent();
- if (intent != null)
- searchQuery = intent.getStringExtra(SEARCH_HS);
- searchView.setQueryHint(getResources().getString(R.string.app_name));
- if (searchQuery != null) {
- searchView.setQuery(searchQuery, true);
- new FetchReleaseItems(this, recyclerView, swipeRefreshLayout)
- .execute("?mode=search&search=" + searchQuery);
- }
-
- new FetchReleaseItems(this, recyclerView, swipeRefreshLayout);
-
- findViewById(R.id.imageViewDrawer).setOnClickListener(this);
-
- NavigationView navigationView = findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
-
- searchView.setOnQueryTextListener(this);
- }
-
- @Override
- public void onBackPressed() {
- DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
- if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
- drawerLayout.closeDrawer(GravityCompat.START);
- } else {
- super.onBackPressed();
- }
- }
-
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- Intent intent;
- switch (item.getItemId()) {
- case R.id.navHome:
- intent = new Intent(this, Home.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navSchedule:
- intent = new Intent(this, Schedule.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navFav:
- intent = new Intent(this, Favourite.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navShows:
- intent = new Intent(this, List.class);
- startActivity(intent);
- finish();
- break;
-
- case R.id.navRss:
- break;
-
- case R.id.navBrowser:
- break;
-
- case R.id.navFeedback:
- break;
-
- case R.id.navShare:
- break;
-
- case R.id.navAbout:
- intent = new Intent(this, About.class);
- startActivity(intent);
- break;
- }
-
- DrawerLayout drawer = findViewById(R.id.drawerLayout);
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.imageViewDrawer:
- DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
- if (drawerLayout.isDrawerOpen(GravityCompat.START))
- drawerLayout.closeDrawer(GravityCompat.START);
- else
- drawerLayout.openDrawer(GravityCompat.START);
- break;
- }
- }
-
- @Override
- public boolean onQueryTextSubmit(String query) {
- new FetchReleaseItems(this, recyclerView, swipeRefreshLayout)
- .execute("?mode=search&search=" + query);
- return true;
- }
-
- @Override
- public boolean onQueryTextChange(String newText) {
- return false;
- }
-*/
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/fragment/Home.java b/app/src/main/java/info/horriblesubs/sher/old/fragment/Home.java
deleted file mode 100644
index 3f9456a..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/fragment/Home.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package info.horriblesubs.sher.old.fragment;
-
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.Fragment;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import info.horriblesubs.sher.R;
-import info.horriblesubs.sher.old.task.FetchReleaseItems;
-
-public class Home extends Fragment {
-
- private static final String ARG_SECTION_NUMBER = "section_number";
- private SwipeRefreshLayout swipeRefreshLayout;
- private RecyclerView recyclerView;
- private String s;
-
- public static Home newInstance(int i) {
- Home fragment = new Home();
- Bundle args = new Bundle();
- args.putInt(ARG_SECTION_NUMBER, i);
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_shows, container, false);
- recyclerView = rootView.findViewById(R.id.recyclerView);
- swipeRefreshLayout = rootView.findViewById(R.id.textView);
- assert getArguments() != null;
- s = "?mode=latest";
- if (getArguments().getInt(ARG_SECTION_NUMBER, 0) == 1)
- s = "?mode=latest-batch";
- new FetchReleaseItems(getContext(), recyclerView, swipeRefreshLayout).execute(s);
- swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- new FetchReleaseItems(getContext(), recyclerView, swipeRefreshLayout).execute(s);
- }
- });
- return rootView;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/fragment/List.java b/app/src/main/java/info/horriblesubs/sher/old/fragment/List.java
deleted file mode 100644
index ee9df90..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/fragment/List.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package info.horriblesubs.sher.old.fragment;
-
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.Fragment;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import info.horriblesubs.sher.R;
-import info.horriblesubs.sher.old.task.FetchListItems;
-
-public class List extends Fragment {
-
- private static final String ARG_SECTION_NUMBER = "section_number";
- private SwipeRefreshLayout swipeRefreshLayout;
- private RecyclerView recyclerView;
- private String s;
-
- public static List newInstance(int i) {
- List fragment = new List();
- Bundle args = new Bundle();
- args.putInt(ARG_SECTION_NUMBER, i);
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_shows, container, false);
- recyclerView = rootView.findViewById(R.id.recyclerView);
- swipeRefreshLayout = rootView.findViewById(R.id.recyclerView);
- assert getArguments() != null;
- s = "?mode=list-current";
- if (getArguments().getInt(ARG_SECTION_NUMBER, 0) == 1)
- s = "?mode=list-all";
- new FetchListItems(getContext(), recyclerView, swipeRefreshLayout).execute(s);
- swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- new FetchListItems(getContext(), recyclerView, swipeRefreshLayout).execute(s);
- }
- });
- if (null != null)
- if (getArguments().getInt(ARG_SECTION_NUMBER, 0) == 0) {
- rootView.setEnabled(false);
- rootView.findViewById(android.support.v7.appcompat.R.id.search_src_text)
- .setEnabled(false);
- } else {
- rootView.setEnabled(true);
- rootView.findViewById(android.support.v7.appcompat.R.id.search_src_text)
- .setEnabled(true);
- /*
- rootView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
- private java.util.List- itemList = null;
-
- @Override
- public boolean onQueryTextSubmit(String query) {
- return false;
- }
-
- @Override
- public boolean onQueryTextChange(String newText) {
- java.util.List
- items = new ArrayList<>();
- ListRecycler listRecycler = (ListRecycler) recyclerView.getAdapter();
- if (itemList == null)
- itemList = listRecycler.getItems();
- for (Item item : itemList)
- if (item.title.toLowerCase().contains(newText.toLowerCase()))
- items.add(item);
- listRecycler.onQueryUpdate(items);
- return false;
- }
- });
- */
- }
- return rootView;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/fragment/Schedule.java b/app/src/main/java/info/horriblesubs/sher/old/fragment/Schedule.java
deleted file mode 100644
index 43bfd72..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/fragment/Schedule.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package info.horriblesubs.sher.old.fragment;
-
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.Fragment;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import info.horriblesubs.sher.R;
-import info.horriblesubs.sher.old.task.FetchScheduleItems;
-import info.horriblesubs.sher.old.task.LoadScheduleItems;
-
-public class Schedule extends Fragment {
-
- private static final String ARG_SECTION_NUMBER = "section_number";
-
- public static Schedule newInstance(int sectionNumber) {
- Schedule fragment = new Schedule();
- Bundle args = new Bundle();
- args.putInt(ARG_SECTION_NUMBER, sectionNumber);
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_shows, container, false);
- final RecyclerView recyclerView = rootView.findViewById(R.id.recyclerView);
- final SwipeRefreshLayout swipeRefreshLayout = rootView.findViewById(R.id.textView);
- assert getArguments() != null;
- new LoadScheduleItems(recyclerView, getContext(), swipeRefreshLayout,
- getArguments().getInt(ARG_SECTION_NUMBER))
- .execute();
- swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- new FetchScheduleItems().execute("?mode=schedule");
- new LoadScheduleItems(recyclerView, getContext(), swipeRefreshLayout,
- getArguments().getInt(ARG_SECTION_NUMBER))
- .execute();
- swipeRefreshLayout.setRefreshing(false);
- }
- });
- return rootView;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/receiver/Notification.java b/app/src/main/java/info/horriblesubs/sher/old/receiver/Notification.java
deleted file mode 100644
index 34a777a..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/receiver/Notification.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package info.horriblesubs.sher.old.receiver;
-
-import android.app.AlarmManager;
-import android.app.PendingIntent;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-
-import com.google.firebase.messaging.FirebaseMessaging;
-
-import org.jetbrains.annotations.NotNull;
-
-import info.horriblesubs.sher.BuildConfig;
-import info.horriblesubs.sher.old.task.NotificationRequest;
-
-public class Notification extends BroadcastReceiver {
-
- @Override
- public void onReceive(Context context, Intent intent) {
- if (Intent.ACTION_LOCKED_BOOT_COMPLETED.equals(intent.getAction()) ||
- Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
- SharedPreferences sharedPreferences = context
- .getSharedPreferences("horriblesubs-prefs", Context.MODE_PRIVATE);
- boolean b = sharedPreferences.getBoolean("notification-on", false);
- if (b) {
- removeNotificationAlert(context.getApplicationContext());
- setNotificationAlert(context.getApplicationContext());
- }
- }
- new NotificationRequest().execute(BuildConfig.HAPI + "?mode=notification");
- }
-
- private void removeNotificationAlert(@NotNull Context context) {
- SharedPreferences sharedPreferences = context.getSharedPreferences("horriblesubs-prefs", Context.MODE_PRIVATE);
- sharedPreferences.edit().putBoolean("notification-on", false).apply();
- FirebaseMessaging.getInstance().unsubscribeFromTopic("all");
- Intent intent = new Intent(context, Notification.class);
- PendingIntent pendingIntent = PendingIntent
- .getBroadcast(context, 4869, intent, 0);
- AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
- assert alarmManager != null;
- alarmManager.cancel(pendingIntent);
- }
-
- private void setNotificationAlert(@NotNull Context context) {
- SharedPreferences sharedPreferences = context.getSharedPreferences("horriblesubs-prefs", Context.MODE_PRIVATE);
- sharedPreferences.edit().putBoolean("notification-on", true).apply();
- FirebaseMessaging.getInstance().subscribeToTopic("all");
- Intent intent = new Intent(context, Notification.class);
- PendingIntent pendingIntent = PendingIntent
- .getBroadcast(context, 4869, intent, 0);
- AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
- assert alarmManager != null;
- alarmManager.setInexactRepeating(AlarmManager.RTC, System.currentTimeMillis(),
- AlarmManager.INTERVAL_HOUR, pendingIntent);
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/service/IdService.java b/app/src/main/java/info/horriblesubs/sher/old/service/IdService.java
index 2375760..13af427 100644
--- a/app/src/main/java/info/horriblesubs/sher/old/service/IdService.java
+++ b/app/src/main/java/info/horriblesubs/sher/old/service/IdService.java
@@ -1,6 +1,5 @@
package info.horriblesubs.sher.old.service;
-import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v4.content.LocalBroadcastManager;
@@ -9,6 +8,8 @@
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;
+import info.horriblesubs.sher.Api;
+
public class IdService extends FirebaseInstanceIdService {
private static final String TAG = "HorribleSubsIdService";
@@ -27,9 +28,7 @@ public void onTokenRefresh() {
}
private void storeToken(String s) {
- this.getSharedPreferences("horriblesubs-prefs", Context.MODE_PRIVATE);
- SharedPreferences sharedPreferences = getSharedPreferences("horriblesubs-prefs",
- Context.MODE_PRIVATE);
+ SharedPreferences sharedPreferences = getSharedPreferences(Api.Prefs, MODE_PRIVATE);
sharedPreferences.edit().putString("token", s).apply();
}
}
diff --git a/app/src/main/java/info/horriblesubs/sher/old/task/FetchListItems.java b/app/src/main/java/info/horriblesubs/sher/old/task/FetchListItems.java
deleted file mode 100644
index a5a61dd..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/task/FetchListItems.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package info.horriblesubs.sher.old.task;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.os.AsyncTask;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.DefaultItemAnimator;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
-
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.List;
-
-import info.horriblesubs.sher.BuildConfig;
-import info.horriblesubs.sher.adapter.ListRecycler;
-import info.horriblesubs.sher.model.base.Item;
-
-@SuppressLint("StaticFieldLeak")
-public class FetchListItems extends AsyncTask> {
-
- private final Context context;
- private final RecyclerView recyclerView;
- private final SwipeRefreshLayout swipeRefreshLayout;
-
- public FetchListItems(Context context, RecyclerView recyclerView,
- SwipeRefreshLayout swipeRefreshLayout) {
- this.context = context;
- this.recyclerView = recyclerView;
- this.swipeRefreshLayout = swipeRefreshLayout;
- }
-
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- swipeRefreshLayout.setRefreshing(true);
- }
-
- @Override
- protected List
- doInBackground(String... strings) {
- String s = BuildConfig.HAPI + strings[0];
- try {
- URL url = new URL(s);
- HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
- try {
- httpURLConnection.connect();
- BufferedReader bufferedReader = new BufferedReader(new
- InputStreamReader(httpURLConnection.getInputStream()));
- return new Gson().fromJson(bufferedReader,
- new TypeToken
>() {
- }.getType());
- } finally {
- if (httpURLConnection != null)
- httpURLConnection.disconnect();
- }
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
-
- @Override
- protected void onPostExecute(final List- items) {
- super.onPostExecute(items);
- final ListRecycler listRecycler = new ListRecycler(context, items);
- recyclerView.setItemAnimator(new DefaultItemAnimator());
- recyclerView.setLayoutManager(new GridLayoutManager(context, 2));
- recyclerView.setAdapter(listRecycler);
- swipeRefreshLayout.setRefreshing(false);
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/task/FetchScheduleItems.java b/app/src/main/java/info/horriblesubs/sher/old/task/FetchScheduleItems.java
deleted file mode 100644
index 5b0cece..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/task/FetchScheduleItems.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package info.horriblesubs.sher.old.task;
-
-import android.annotation.SuppressLint;
-import android.os.AsyncTask;
-
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.List;
-
-import info.horriblesubs.sher.BuildConfig;
-import info.horriblesubs.sher.model.base.ScheduleItem;
-
-@SuppressLint("StaticFieldLeak")
-public class FetchScheduleItems extends AsyncTask> {
-
- public FetchScheduleItems() {
- }
-
- @Override
- protected List doInBackground(String... strings) {
- String s = BuildConfig.HAPI + strings[0];
- try {
- URL url = new URL(s);
- HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
- try {
- httpURLConnection.connect();
- BufferedReader bufferedReader = new BufferedReader(new
- InputStreamReader(httpURLConnection.getInputStream()));
- return new Gson().fromJson(bufferedReader,
- new TypeToken
>() {
- }.getType());
- } finally {
- if (httpURLConnection != null)
- httpURLConnection.disconnect();
- }
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
-
- @Override
- protected void onPostExecute(List scheduleItems) {
- super.onPostExecute(scheduleItems);
- if (scheduleItems != null)
- scheduleItems = scheduleItems;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/task/LoadScheduleItems.java b/app/src/main/java/info/horriblesubs/sher/old/task/LoadScheduleItems.java
deleted file mode 100644
index 3cef282..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/task/LoadScheduleItems.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package info.horriblesubs.sher.old.task;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.os.AsyncTask;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.DefaultItemAnimator;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.List;
-
-import info.horriblesubs.sher.adapter.ScheduleRecycler;
-import info.horriblesubs.sher.model.base.ScheduleItem;
-
-@SuppressLint("StaticFieldLeak")
-public class LoadScheduleItems extends AsyncTask> {
-
- private final int i;
- private final Context context;
- private final RecyclerView recyclerView;
- private final SwipeRefreshLayout swipeRefreshLayout;
-
- public LoadScheduleItems(RecyclerView recyclerView, Context context,
- SwipeRefreshLayout swipeRefreshLayout, int i) {
- this.swipeRefreshLayout = swipeRefreshLayout;
- this.recyclerView = recyclerView;
- this.context = context;
- this.i = i;
- }
-
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- if (swipeRefreshLayout != null)
- swipeRefreshLayout.setRefreshing(true);
- }
-
- @Override
- protected List doInBackground(Void... voids) {
- while (true)
- if (null != null)
- break;
- List scheduleItems = null;
- if (scheduleItems != null) {
- List scheduleItemList = new ArrayList<>();
- Calendar calendar1 = Calendar.getInstance();
- Calendar calendar2 = Calendar.getInstance();
- for (ScheduleItem scheduleItem : scheduleItems) {
- calendar1.setTime(scheduleItem.getTime());
- if (i == 1) {
- if (calendar1.get(Calendar.DAY_OF_WEEK) == calendar2.get(Calendar.DAY_OF_WEEK)
- && scheduleItem.isScheduled)
- scheduleItemList.add(scheduleItem);
- } else if (i == 9 && !scheduleItem.isScheduled)
- scheduleItemList.add(scheduleItem);
- else if (calendar1.get(Calendar.DAY_OF_WEEK) == i - 1 && scheduleItem.isScheduled)
- scheduleItemList.add(scheduleItem);
- }
- return scheduleItemList;
- } else
- return null;
- }
-
- @Override
- protected void onPostExecute(List scheduleItems) {
- super.onPostExecute(scheduleItems);
- recyclerView.setItemAnimator(new DefaultItemAnimator());
- recyclerView.setLayoutManager(new GridLayoutManager(context, 2));
- recyclerView.setAdapter(new ScheduleRecycler(context, scheduleItems));
- if (swipeRefreshLayout != null)
- swipeRefreshLayout.setRefreshing(false);
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/horriblesubs/sher/old/task/NotificationRequest.java b/app/src/main/java/info/horriblesubs/sher/old/task/NotificationRequest.java
deleted file mode 100644
index b7ceea2..0000000
--- a/app/src/main/java/info/horriblesubs/sher/old/task/NotificationRequest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package info.horriblesubs.sher.old.task;
-
-import android.annotation.SuppressLint;
-import android.os.AsyncTask;
-import android.util.Log;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-
-/**
- * NotificationRequest via FCM AsyncTask.
- */
-
-@SuppressLint("StaticFieldLeak")
-public class NotificationRequest extends AsyncTask {
-
- public NotificationRequest() {
- }
-
- @Override
- protected Void doInBackground(String... strings) {
- HttpURLConnection httpURLConnection = null;
- try {
- httpURLConnection = (HttpURLConnection) new URL(strings[0]).openConnection();
- Log.v(NotificationRequest.class.getSimpleName(), httpURLConnection.getResponseMessage());
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if (httpURLConnection != null)
- httpURLConnection.disconnect();
- }
- return null;
- }
-
-}
diff --git a/app/src/main/java/info/horriblesubs/sher/old/util/DialogX.java b/app/src/main/java/info/horriblesubs/sher/util/DialogX.java
similarity index 98%
rename from app/src/main/java/info/horriblesubs/sher/old/util/DialogX.java
rename to app/src/main/java/info/horriblesubs/sher/util/DialogX.java
index c1aad82..e8d848e 100644
--- a/app/src/main/java/info/horriblesubs/sher/old/util/DialogX.java
+++ b/app/src/main/java/info/horriblesubs/sher/util/DialogX.java
@@ -1,4 +1,4 @@
-package info.horriblesubs.sher.old.util;
+package info.horriblesubs.sher.util;
import android.app.Dialog;
import android.content.Context;
diff --git a/app/src/main/res/layout/activity_schedule.xml b/app/src/main/res/layout/activity_schedule.xml
new file mode 100644
index 0000000..c36f90d
--- /dev/null
+++ b/app/src/main/res/layout/activity_schedule.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_schedule.xml b/app/src/main/res/layout/content_schedule.xml
new file mode 100644
index 0000000..b1e18a2
--- /dev/null
+++ b/app/src/main/res/layout/content_schedule.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home_2.xml b/app/src/main/res/layout/fragment_home_2.xml
index a7c7208..d45c6cc 100644
--- a/app/src/main/res/layout/fragment_home_2.xml
+++ b/app/src/main/res/layout/fragment_home_2.xml
@@ -52,9 +52,9 @@
android:layout_gravity="end"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
- android:enabled="false"
- android:text="@string/view_more"
+ android:text="@string/full_schedule"
android:textSize="12sp"
+ tools:visibility="visible"
android:visibility="invisible"
app:textAllCaps="false" />
diff --git a/app/src/main/res/layout/fragment_schedule.xml b/app/src/main/res/layout/fragment_schedule.xml
new file mode 100644
index 0000000..462abfc
--- /dev/null
+++ b/app/src/main/res/layout/fragment_schedule.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b5157fe..4e1c804 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -30,4 +30,5 @@
Loading…
All Shows
Current Shows
+ Full Schedule
diff --git a/app/src/main/res/xml-v26/shortcuts.xml b/app/src/main/res/xml-v26/shortcuts.xml
index c1c4ca9..dec57a7 100644
--- a/app/src/main/res/xml-v26/shortcuts.xml
+++ b/app/src/main/res/xml-v26/shortcuts.xml
@@ -22,7 +22,7 @@
android:shortcutShortLabel="@string/shows">