Android Open Source - SoundScheduler Rule Item State Listener






From Project

Back to project page SoundScheduler.

License

The source code is released under:

GNU General Public License

If you think the Android project SoundScheduler 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

/*
 * Sound Scheduler/*  w ww.  j  a  v  a  2 s. c  o  m*/
 * Copyright (C) 2013 Victor Kifer
 */

package com.victorkifer.SoundScheduler.listeners;

import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import com.victorkifer.SoundScheduler.MainActivity;
import com.victorkifer.SoundScheduler.R;
import com.victorkifer.SoundScheduler.database.RulesDataSource;
import com.victorkifer.SoundScheduler.entities.Rule;
import com.victorkifer.SoundScheduler.receivers.TimeChangeReceiver;

public class RuleItemStateListener implements View.OnClickListener {
    private long id;

    public RuleItemStateListener(long id) {
        this.id = id;
    }

    public void updateId(long id) {
        this.id = id;
    }

    @Override
    public void onClick(View v) {
        RulesDataSource rulesDataSource = new RulesDataSource(v.getContext().getApplicationContext());
        rulesDataSource.open();

        Log.d("Listener", "Rule updated");

        Rule rule = rulesDataSource.getRuleById(id);
        if(rule.isActive()) {
            rule.setActive(false);
            if(rule.isApplied()) {
                rulesDataSource.updateRule(TimeChangeReceiver.resetRule(rule, v.getContext().getApplicationContext()));
            }
            if(v instanceof ImageView) {
                ImageView iv = (ImageView)v;
                iv.setImageResource(R.drawable.ruleoff);
            }
        }
        else {
            rule.setActive(true);
            if(v instanceof ImageView) {
                ImageView iv = (ImageView)v;
                iv.setImageResource(R.drawable.ruleon);
            }
        }
        rulesDataSource.updateRule(rule);

        v.getContext().getApplicationContext().sendBroadcast(new Intent(MainActivity.ACTION_RULELIST_UPDATE));

        rulesDataSource.close();
    }
}




Java Source Code List

com.victorkifer.SoundScheduler.AboutActivity.java
com.victorkifer.SoundScheduler.EditRuleActivity.java
com.victorkifer.SoundScheduler.MainActivity.java
com.victorkifer.SoundScheduler.adapters.RuleListAdapter.java
com.victorkifer.SoundScheduler.database.RulesDataSource.java
com.victorkifer.SoundScheduler.database.RulesDatabaseHelper.java
com.victorkifer.SoundScheduler.entities.Rule.java
com.victorkifer.SoundScheduler.listeners.RuleDeleteListener.java
com.victorkifer.SoundScheduler.listeners.RuleItemStateListener.java
com.victorkifer.SoundScheduler.managers.SoundManager.java
com.victorkifer.SoundScheduler.receivers.BootCompleteReceiver.java
com.victorkifer.SoundScheduler.receivers.TimeChangeReceiver.java