Android Open Source - Tacere Volumes Manager






From Project

Back to project page Tacere.

License

The source code is released under:

MIT License

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

/*
 * Copyright (c) 2014 Jonathan Nelson//www .  j  a  v  a2s  .c o m
 * Released under the BSD license.  For details see the COPYING file.
 */

package org.ciasaboark.tacere.manager;

import android.content.Context;
import android.media.AudioManager;
import android.util.Log;

import org.ciasaboark.tacere.prefs.Prefs;

public class VolumesManager {
    private static final int MAX_MEDIA_VOLUME = 15;
    private static final int MAX_ALARM_VOLUME = 7;
    private static final String TAG = "VolumesManager";

    private Context context;
    private Prefs prefs;

    public VolumesManager(Context ctx) {
        this.context = ctx;
        this.prefs = new Prefs(ctx);
    }

    public static int getMaxMediaVolume() {
        return MAX_MEDIA_VOLUME;
    }

    public static int getMaxAlarmVolume() {
        return MAX_ALARM_VOLUME;
    }


    public void restoreVolumes() {
        AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        restoreAlarmVolume();
        restoreMediaVolume();
        clearStoredVolumes();
    }

    private void restoreAlarmVolume() {
        AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        int storedAlarmVolume = prefs.getStoredAlarmVolume();
        if (!hasAlarmVolumeBeenStored()) {
            Log.w(TAG, "asked to restore alarm volume when none has been previously stored");
        } else {
            audio.setStreamVolume(AudioManager.STREAM_ALARM, storedAlarmVolume, 0);
        }
    }

    private void restoreMediaVolume() {
        AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        int storedMediaVolume = prefs.getStoredMediaVolume();
        if (!hasMediaVolumeBeenStored()) {
            Log.w(TAG, "asked to restore media volume when none has been previously stored");
        } else {
            audio.setStreamVolume(AudioManager.STREAM_MUSIC, storedMediaVolume, 0);
        }
    }

    public void clearStoredVolumes() {
        prefs.storeAlarmVolume(-1);
        prefs.storeMediaVolume(-1);
    }

    private boolean hasAlarmVolumeBeenStored() {
        return getStoredAlarmVolume() != -1;
    }

    private boolean hasMediaVolumeBeenStored() {
        return getStoredMediaVolume() != -1;
    }

    private int getStoredAlarmVolume() {
        return prefs.getStoredAlarmVolume();
    }

    private int getStoredMediaVolume() {
        return prefs.getStoredMediaVolume();
    }

    public void silenceMediaAndAlarmVolumesIfNeeded() {
        // change media volume, and alarm volume
        AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        if (prefs.shouldMediaVolumeBeSilenced()) {
            audio.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
        } else {
            restoreMediaVolume();
        }

        if (prefs.shouldAlarmVolumeBeSilenced()) {
            audio.setStreamVolume(AudioManager.STREAM_ALARM, 0, 0);
        } else {
            restoreAlarmVolume();
        }
    }

    public void storeVolumesIfNeeded() {
        //store the current media and alarm volumes if none are already set
        if (!hasMediaVolumeBeenStored() && prefs.shouldMediaVolumeBeSilenced()) {
            storeMediaVolume();
        }
        if (!hasAlarmVolumeBeenStored() && prefs.shouldAlarmVolumeBeSilenced()) {
            storeAlarmVolume();
        }
    }

    private void storeMediaVolume() {
        AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        int mediaVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC);
        prefs.storeMediaVolume(mediaVolume);
    }

    private void storeAlarmVolume() {
        AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        int alarmVolume = audio.getStreamVolume(AudioManager.STREAM_ALARM);
        prefs.storeAlarmVolume(alarmVolume);
    }
}




Java Source Code List

.EventInstanceTest.java
com.viewpagerindicator.BuildConfig.java
com.viewpagerindicator.BuildConfig.java
com.viewpagerindicator.CirclePageIndicator.java
com.viewpagerindicator.IconPageIndicator.java
com.viewpagerindicator.IconPagerAdapter.java
com.viewpagerindicator.IcsLinearLayout.java
com.viewpagerindicator.LinePageIndicator.java
com.viewpagerindicator.PageIndicator.java
com.viewpagerindicator.TabPageIndicator.java
com.viewpagerindicator.TitlePageIndicator.java
com.viewpagerindicator.UnderlinePageIndicator.java
org.ciasaboark.tacere.ApplicationTest.java
org.ciasaboark.tacere.Tacere.java
org.ciasaboark.tacere.activity.AboutActivity.java
org.ciasaboark.tacere.activity.AboutLicenseActivity.java
org.ciasaboark.tacere.activity.AdvancedSettingsActivity.java
org.ciasaboark.tacere.activity.BetaReleaseActivity.java
org.ciasaboark.tacere.activity.BetaSettingsActivity.java
org.ciasaboark.tacere.activity.BugReportActivity.java
org.ciasaboark.tacere.activity.DonationActivityTest.java
org.ciasaboark.tacere.activity.LicenseCheckWrapper.java
org.ciasaboark.tacere.activity.MainActivity.java
org.ciasaboark.tacere.activity.ProUpgradeActivity.java
org.ciasaboark.tacere.activity.SelectCalendarsActivity.java
org.ciasaboark.tacere.activity.SettingsActivity.java
org.ciasaboark.tacere.activity.ShowUpdatesActivity.java
org.ciasaboark.tacere.activity.TutorialActivity.java
org.ciasaboark.tacere.activity.fragment.AdvancedSettingsFragment.java
org.ciasaboark.tacere.activity.fragment.BetaSettingsFragment.java
org.ciasaboark.tacere.activity.fragment.EventDetailsFragment.java
org.ciasaboark.tacere.activity.fragment.MainSettingsFragment.java
org.ciasaboark.tacere.activity.fragment.SelectCalendarsFragment.java
org.ciasaboark.tacere.activity.fragment.TutorialCrashReporterFragment.java
org.ciasaboark.tacere.activity.fragment.TutorialEndFragment.java
org.ciasaboark.tacere.activity.fragment.TutorialEventListFragment.java
org.ciasaboark.tacere.activity.fragment.TutorialProVersionFragment.java
org.ciasaboark.tacere.activity.fragment.TutorialRingerPriorityFragment.java
org.ciasaboark.tacere.activity.fragment.TutorialWelcomeFragment.java
org.ciasaboark.tacere.adapter.EventCursorAdapter.java
org.ciasaboark.tacere.billing.Authenticator.java
org.ciasaboark.tacere.billing.google.Base64DecoderException.java
org.ciasaboark.tacere.billing.google.Base64.java
org.ciasaboark.tacere.billing.google.IabException.java
org.ciasaboark.tacere.billing.google.IabHelper.java
org.ciasaboark.tacere.billing.google.IabResult.java
org.ciasaboark.tacere.billing.google.Inventory.java
org.ciasaboark.tacere.billing.google.Purchase.java
org.ciasaboark.tacere.billing.google.Security.java
org.ciasaboark.tacere.billing.google.SkuDetails.java
org.ciasaboark.tacere.bug.CrashReportManager.java
org.ciasaboark.tacere.converter.DateConverterTest.java
org.ciasaboark.tacere.converter.DateConverter.java
org.ciasaboark.tacere.converter.TimeConverter.java
org.ciasaboark.tacere.database.Columns.java
org.ciasaboark.tacere.database.DataSetManager.java
org.ciasaboark.tacere.database.DatabaseInterface.java
org.ciasaboark.tacere.database.EventDatabaseOpenHelper.java
org.ciasaboark.tacere.database.NoSuchEventInstanceException.java
org.ciasaboark.tacere.database.TooltipManager.java
org.ciasaboark.tacere.event.Calendar.java
org.ciasaboark.tacere.event.EventInstance.java
org.ciasaboark.tacere.event.EventManager.java
org.ciasaboark.tacere.event.ringer.Intervals.java
org.ciasaboark.tacere.event.ringer.RingerSource.java
org.ciasaboark.tacere.event.ringer.RingerType.java
org.ciasaboark.tacere.key.ApplicationTest.java
org.ciasaboark.tacere.key.MainActivity.java
org.ciasaboark.tacere.manager.AlarmManagerWrapper.java
org.ciasaboark.tacere.manager.NotificationManagerWrapper.java
org.ciasaboark.tacere.manager.RingerStateManager.java
org.ciasaboark.tacere.manager.ServiceStateManager.java
org.ciasaboark.tacere.manager.VolumesManager.java
org.ciasaboark.tacere.notifier.WidgetNotifier.java
org.ciasaboark.tacere.prefs.BetaPrefs.java
org.ciasaboark.tacere.prefs.DefaultPrefs.java
org.ciasaboark.tacere.prefs.PrefsTest.java
org.ciasaboark.tacere.prefs.Prefs.java
org.ciasaboark.tacere.prefs.Updates.java
org.ciasaboark.tacere.receiver.BootCompletedReceiver.java
org.ciasaboark.tacere.receiver.ProviderChangedReceiver.java
org.ciasaboark.tacere.service.EventSilencerService.java
org.ciasaboark.tacere.service.ExtendEventService.java
org.ciasaboark.tacere.service.ExtendQuicksilenceService.java
org.ciasaboark.tacere.service.RequestTypes.java
org.ciasaboark.tacere.service.ResetEventServiceTest.java
org.ciasaboark.tacere.service.ResetEventService.java
org.ciasaboark.tacere.service.SkipEventService.java
org.ciasaboark.tacere.versioning.Versioning.java
org.ciasaboark.tacere.view.EventListItem.java
org.ciasaboark.tacere.widget.ActiveEventWidgetProvider.java
org.ciasaboark.tacere.widget.EventListWidgetProvider.java
org.ciasaboark.tacere.widget.QuickSilenceTinyWidgetProvider.java
org.ciasaboark.tacere.widget.QuickSilenceWidgetProvider.java
org.ciasaboark.tacere.widget.activity.WidgetPopupRinger.java
org.ciasaboark.tacere.widget.adapter.WidgetEventListAdapter.java
org.ciasaboark.tacere.widget.service.WidgetService.java