Android Open Source - wifi-auto-forget Auto Forget Wifis Adapter






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.adapter;
//from w w  w . j a  va  2  s .c  o  m
import android.util.SparseArray;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;

import com.cebesius.wifiautoforget.domain.AutoForgetWifi;
import com.cebesius.wifiautoforget.widget.AutoForgetWifiItem;

import java.util.ArrayList;
import java.util.List;

/**
 * List adapter for AutoForgetWifi objects and AutoForgetWifiItem views
 */
public class AutoForgetWifisAdapter extends BaseAdapter {

    private List<AutoForgetWifi> autoForgetWifis;
    private final SparseArray<AutoForgetWifiItem> viewsByPosition = new SparseArray<>();

    public AutoForgetWifisAdapter(List<AutoForgetWifi> autoForgetWifis) {
        this.autoForgetWifis = autoForgetWifis;
    }

    @Override
    public int getCount() {
        return autoForgetWifis.size();
    }

    @Override
    public AutoForgetWifi getItem(int position) {
        return autoForgetWifis.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public AutoForgetWifiItem getView(int position, View recycleView, ViewGroup viewGroup) {
        AutoForgetWifiItem view = (AutoForgetWifiItem) recycleView;
        if (view == null) {
            view = new AutoForgetWifiItem(viewGroup.getContext());
        }
        int formerPositionOfView = viewsByPosition.indexOfValue(view);
        if (formerPositionOfView >= 0) {
            viewsByPosition.delete(formerPositionOfView);
        }
        viewsByPosition.put(position, view);
        view.setAutoForgetWifi(getItem(position));
        return view;
    }

    public void setAutoForgetWifis(List<AutoForgetWifi> autoForgetWifis) {
        if (this.autoForgetWifis != autoForgetWifis) {
            this.autoForgetWifis = autoForgetWifis;
            notifyDataSetChanged();
        }
    }

    public void onAutoForgetWifiBehaviorChanged(AutoForgetWifi autoForgetWifi) {
        int position = autoForgetWifis.indexOf(autoForgetWifi);
        if (position < 0) {
            // invalid object, abort
            return;
        }
        AutoForgetWifiItem view = viewsByPosition.get(position);
        if (view == null) {
            // view is off-screen, no need to update
            return;
        }
        view.onAutoForgetWifiBehaviorChanged(autoForgetWifi);
    }
}




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