Advertisement
yahyaaa

SettingsActivity

Sep 20th, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.46 KB | None | 0 0
  1. package com.rtikcirebonkota.thecataloguemovie.utils;
  2. import android.content.Intent;
  3. import android.os.Bundle;
  4. import android.provider.Settings;
  5. import android.view.MenuItem;
  6. import android.widget.Toast;
  7.  
  8. import androidx.appcompat.app.AppCompatActivity;
  9. import androidx.appcompat.widget.Toolbar;
  10. import androidx.preference.Preference;
  11. import androidx.preference.PreferenceFragmentCompat;
  12. import androidx.preference.SwitchPreference;
  13.  
  14. import com.rtikcirebonkota.thecataloguemovie.R;
  15. import com.rtikcirebonkota.thecataloguemovie.model.MovieResult;
  16. import com.rtikcirebonkota.thecataloguemovie.notification.MovieDailyReceiver;
  17. import com.rtikcirebonkota.thecataloguemovie.notification.MovieUpcomingReceiver;
  18.  
  19. import org.jetbrains.annotations.NotNull;
  20.  
  21. import java.util.ArrayList;
  22. import java.util.List;
  23.  
  24. import butterknife.BindView;
  25. import butterknife.ButterKnife;
  26. public class SettingsActivity extends AppCompatActivity {
  27.     @BindView(R.id.toolbar)
  28.     Toolbar toolbar;
  29.     @Override
  30.     protected void onCreate(Bundle savedInstanceState) {
  31.         super.onCreate(savedInstanceState);
  32.         setContentView(R.layout.settings_activity);
  33.         ButterKnife.bind(this);
  34.         if (getSupportActionBar()!=null){ getSupportActionBar().setDisplayHomeAsUpEnabled(true); }
  35.         getSupportFragmentManager().beginTransaction().replace(R.id.settings, new SettingsFragment()).commit();
  36.     }
  37.  
  38.     public static class SettingsFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener {
  39.         MovieDailyReceiver movieDailyReceiver = new MovieDailyReceiver();
  40.         MovieUpcomingReceiver movieUpcomingReceiver = new MovieUpcomingReceiver();
  41.         List<MovieResult> movieList;
  42.         @Override
  43.         public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
  44.             setPreferencesFromResource(R.xml.root_preferences, rootKey);
  45.             movieList = new ArrayList<>();
  46.             SwitchPreference switchReminder = findPreference(getString(R.string.key_today_reminder));
  47.             switchReminder.setOnPreferenceChangeListener(this);
  48.             SwitchPreference switchToday = findPreference(getString(R.string.key_release_reminder));
  49.             switchToday.setOnPreferenceChangeListener(this);
  50.             Preference myPref = findPreference(getString(R.string.key_lang));
  51.             myPref.setOnPreferenceClickListener(preference -> {
  52.                 startActivity(new Intent(Settings.ACTION_LOCALE_SETTINGS));
  53.                 return true;
  54.             });
  55.         }
  56.  
  57.         @Override
  58.         public boolean onPreferenceChange(Preference preference, Object newValue) {
  59.             String key = preference.getKey();
  60.             boolean b = (boolean) newValue;
  61.  
  62.             if(key.equals(getString(R.string.key_today_reminder))){
  63.                 if(b){
  64.                     movieDailyReceiver.setAlarm(getActivity());
  65.                 }else{
  66.                
  67.                     movieDailyReceiver.cancelAlarm(getActivity());
  68.                 }
  69.             }
  70.  
  71.             if(key.equals(getString(R.string.key_release_reminder))){
  72.                 if(b){
  73.                     movieUpcomingReceiver.setAlarm(getActivity(),movieList);
  74.                 }else{
  75.                     movieUpcomingReceiver.cancelAlarm(getActivity());
  76.                    
  77.                 }
  78.             }
  79.  
  80.             return true;
  81.         }
  82.     }
  83.     public boolean onSupportNavigateUp(){
  84.         finish();
  85.         return true;
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement