Android Open Source - wifi-auto-forget Connectivity Change Presenter






From Project

Back to project page wifi-auto-forget.

License

The source code is released under:

GNU General Public License

If you think the Android project wifi-auto-forget 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 com.cebesius.wifiautoforget.mvp;
// ww  w  . ja  va2  s .  c  om
import com.cebesius.wifiautoforget.domain.AutoForgetWifi;

/**
 * Presenter for the Connectivity Change flow
 */
public class ConnectivityChangePresenter {

    private final ConnectivityChangeModel model;
    private final ConnectivityChangeView view;

    public ConnectivityChangePresenter(ConnectivityChangeModel model, ConnectivityChangeView view) {
        this.model = model;
        this.view = view;
    }

    public void present() {
        if (model.isConnectedWifi()) {
            onJoinWifi();
        } else {
            onJoinOther();
        }
    }

    private void onJoinWifi() {
        if (model.isConnectedWifiUnknown()) {
            AutoForgetWifi autoForgetWifi = model.buildNetwork();
            ConnectivityChangeView.NotificationVerbosity notificationVerbosity = chooseNotificationVerbosity();
            view.showUnknownWifiNotification(autoForgetWifi, notificationVerbosity);
        } else if (model.isConnectedWifiPermanentAutoForget()) {
            // no-op
        }
        model.autoForget();
    }

    /**
     * Choose the appropriate notification verbosity
     * @return the NotificationVerbosity to be used when setting up the notification
     */
    private ConnectivityChangeView.NotificationVerbosity chooseNotificationVerbosity() {
        int addWifiNotificationActionCount = model.getUsedAddWifiNotificationActionCount();
        boolean usedAllAddWifiNotificationActionTypes = model.hasUsedAllAddWifiNotificationActionTypes();
        return addWifiNotificationActionCount >= 10
                || usedAllAddWifiNotificationActionTypes
                ? ConnectivityChangeView.NotificationVerbosity.BRIEF
                : ConnectivityChangeView.NotificationVerbosity.EXTENDED;
    }

    private void onJoinOther() {
        model.autoForget();
    }
}




Java Source Code List

antoche.HockeySender.java
com.cebesius.wifiautoforget.Secrets.java
com.cebesius.wifiautoforget.WifiAutoForgetApplication.java
com.cebesius.wifiautoforget.activity.AutoForgetWifisActivity.java
com.cebesius.wifiautoforget.adapter.AutoForgetWifisAdapter.java
com.cebesius.wifiautoforget.dialog.ChangeAutoForgetBehaviorDialog.java
com.cebesius.wifiautoforget.domain.AutoForgetWifi.java
com.cebesius.wifiautoforget.gateway.AddWifiNotificationUsageStorage.java
com.cebesius.wifiautoforget.gateway.AutoForgetWifiStorage.java
com.cebesius.wifiautoforget.gateway.NotificationIds.java
com.cebesius.wifiautoforget.gateway.SharedPreferenceKeys.java
com.cebesius.wifiautoforget.gateway.UserPreferenceStorage.java
com.cebesius.wifiautoforget.model.AutoForgetWifiModel.java
com.cebesius.wifiautoforget.mvp.ActivityView.java
com.cebesius.wifiautoforget.mvp.AddWifiModel.java
com.cebesius.wifiautoforget.mvp.AddWifiPresenter.java
com.cebesius.wifiautoforget.mvp.AddWifiView.java
com.cebesius.wifiautoforget.mvp.AppModel.java
com.cebesius.wifiautoforget.mvp.AppPresenter.java
com.cebesius.wifiautoforget.mvp.AppView.java
com.cebesius.wifiautoforget.mvp.AutoForgetWifisModel.java
com.cebesius.wifiautoforget.mvp.AutoForgetWifisPresenter.java
com.cebesius.wifiautoforget.mvp.AutoForgetWifisView.java
com.cebesius.wifiautoforget.mvp.ConnectivityChangeModel.java
com.cebesius.wifiautoforget.mvp.ConnectivityChangePresenter.java
com.cebesius.wifiautoforget.mvp.ConnectivityChangeView.java
com.cebesius.wifiautoforget.receiver.ConnectivityChangeReceiver.java
com.cebesius.wifiautoforget.service.AddWifiService.java
com.cebesius.wifiautoforget.service.ConnectivityChangeService.java
com.cebesius.wifiautoforget.util.AutoForgetDelegate.java
com.cebesius.wifiautoforget.util.BusPortal.java
com.cebesius.wifiautoforget.widget.AutoForgetWifiItem.java