Android Open Source - Multi-Mania-app Settings Helper






From Project

Back to project page Multi-Mania-app.

License

The source code is released under:

MIT License

If you think the Android project Multi-Mania-app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package be.ana.nmct.multimania.utils;
/*from w w  w. j av  a2s .co  m*/
import android.content.Context;

import be.ana.nmct.multimania.R;
import be.ana.nmct.multimania.service.NotificationSender;
import be.ana.nmct.multimania.ui.SettingsFragment;
import be.ana.nmct.multimania.vm.ScheduleTalkVm;

/**
 * Created by Axel on 26/11/2014.
 */

/**
 * The SettingsHelper helps updating all stuff the user has enabled in the Settings of the app.
 * E.G.: Setting a Talk as a favorite and then calling this class will set the Talk in the users
 * Google Calendar and Notification (if enabled in settings)
 */
public class SettingsHelper {

    private Context mContext;
    private GoogleCalUtil mCalUtil;
    private String mCalendarName;

    public SettingsHelper(Context context) {
        this.mContext = context;
        this.mCalendarName = context.getString(R.string.calendar_name);
        this.mCalUtil = new GoogleCalUtil(context, mCalendarName);
    }

    /**
     * Helper method for handling talk behaviour (e.g. enable/disable notification for the talk)
     * @param item The talk for which the settings need to be changed
     */
    public void settingsHandler(ScheduleTalkVm item) {

        SettingsUtil settings = new SettingsUtil(mContext, SettingsFragment.PREFERENCE_NAME);

        //handle alarms
        if(settings.getBooleanPreference(SettingsFragment.PREFERENCE_NOTIFY, true)){
            NotificationSender notSender = new NotificationSender(mContext);

            if(item.isFavorite){
                notSender.setAlarmForTalk(item);
            } else{
                notSender.cancelAlarmForTalk(item);
            }
        }

        //handle calendar
        if(settings.getBooleanPreference(SettingsFragment.PREFERENCE_SYNC, false)){

            if(item.isFavorite){
                mCalUtil.addTalk(item);
            } else {
                mCalUtil.deleteTalk(item);
            }

        }

    }

}




Java Source Code List

be.ana.nmct.multimania.ApiTest.java
be.ana.nmct.multimania.ApplicationTest.java
be.ana.nmct.multimania.CalendarTest.java
be.ana.nmct.multimania.DbTest.java
be.ana.nmct.multimania.Import.java
be.ana.nmct.multimania.NotificationImport.java
be.ana.nmct.multimania.ProviderTest.java
be.ana.nmct.multimania.SyncTest.java
be.ana.nmct.multimania.data.ApiActions.java
be.ana.nmct.multimania.data.DbHelper.java
be.ana.nmct.multimania.data.GsonLoader.java
be.ana.nmct.multimania.data.MultimaniaContract.java
be.ana.nmct.multimania.data.MultimaniaProvider.java
be.ana.nmct.multimania.data.NewsItemLoader.java
be.ana.nmct.multimania.data.RoomLoader.java
be.ana.nmct.multimania.data.TagLoader.java
be.ana.nmct.multimania.data.TalkLoader.java
be.ana.nmct.multimania.model.IData.java
be.ana.nmct.multimania.model.NewsItem.java
be.ana.nmct.multimania.model.Room.java
be.ana.nmct.multimania.model.Speaker.java
be.ana.nmct.multimania.model.Tag.java
be.ana.nmct.multimania.model.TalkSpeaker.java
be.ana.nmct.multimania.model.TalkTag.java
be.ana.nmct.multimania.model.Talk.java
be.ana.nmct.multimania.model.User.java
be.ana.nmct.multimania.service.AuthenticatorService.java
be.ana.nmct.multimania.service.Authenticator.java
be.ana.nmct.multimania.service.BootListener.java
be.ana.nmct.multimania.service.NotificationReceiver.java
be.ana.nmct.multimania.service.NotificationSender.java
be.ana.nmct.multimania.service.SyncAdapter.java
be.ana.nmct.multimania.service.SyncService.java
be.ana.nmct.multimania.ui.AboutFragment.java
be.ana.nmct.multimania.ui.LoadActivity.java
be.ana.nmct.multimania.ui.MainActivity.java
be.ana.nmct.multimania.ui.MapFragment.java
be.ana.nmct.multimania.ui.MyScheduleFragment.java
be.ana.nmct.multimania.ui.MySchedulesFragment.java
be.ana.nmct.multimania.ui.NavigationDrawerFragment.java
be.ana.nmct.multimania.ui.NewsFragment.java
be.ana.nmct.multimania.ui.NewsItemActivity.java
be.ana.nmct.multimania.ui.NewsItemFragment.java
be.ana.nmct.multimania.ui.ScheduleFragment.java
be.ana.nmct.multimania.ui.SchedulesFragment.java
be.ana.nmct.multimania.ui.SettingsFragment.java
be.ana.nmct.multimania.ui.SuggestionFragment.java
be.ana.nmct.multimania.ui.TalkActivity.java
be.ana.nmct.multimania.ui.TalkFragment.java
be.ana.nmct.multimania.utils.GoogleCalUtil.java
be.ana.nmct.multimania.utils.SettingsHelper.java
be.ana.nmct.multimania.utils.SettingsUtil.java
be.ana.nmct.multimania.utils.SyncUtils.java
be.ana.nmct.multimania.utils.Utility.java
be.ana.nmct.multimania.vm.NavigationItem.java
be.ana.nmct.multimania.vm.ScheduleTalkVm.java
be.ana.nmct.multimania.widget.StaggeredGridView.java
com.bulletnoid.android.widget.StaggeredGridView.BulletStaggeredGridView.java
com.bulletnoid.android.widget.StaggeredGridView.HeaderFooterListAdapter.java
com.bulletnoid.android.widget.StaggeredGridView.ScrollerCompatIcs.java
com.bulletnoid.android.widget.StaggeredGridView.ScrollerCompat.java