Skip to content
Snippets Groups Projects
Select Git revision
  • ab0cc9fb51bbfb5ed1cb2fcae341499a4b058e90
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • release/201811
  • release/201808
  • wip/patches_poly_2017/cedryk_doucet/abderahmane_bouziane
  • releases/beta1
  • android/release_464
  • android/release_463
  • android/release_462
  • android/release_461
  • android/release_460
  • android/release_459
  • android/release_458
  • android/release_457
  • android/release_456
  • android/release_455
  • android/release_454
  • android/release_453
  • android/release_452
  • android/release_451
  • android/release_450
  • android/release_449
  • android/release_448
  • android/release_447
  • android/release_446
  • android/release_445
38 results

AccountSelectionAdapter.java

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    AccountSelectionAdapter.java 4.04 KiB
    package org.sflphone.adapters;
    
    import java.io.File;
    import java.util.ArrayList;
    
    import org.sflphone.R;
    import org.sflphone.model.Account;
    
    import android.content.Context;
    import android.content.Intent;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    public class AccountSelectionAdapter extends BaseAdapter {
    
        private static final String TAG = AccountSelectionAdapter.class.getSimpleName();
    
        ArrayList<Account> accounts;
        Context mContext;
        int selectedAccount = -1;
        static final String DEFAULT_ACCOUNT_ID = "IP2IP";
    
        public AccountSelectionAdapter(Context cont, ArrayList<Account> newList) {
            super();
            accounts = newList;
            mContext = cont;
        }
    
        @Override
        public int getCount() {
            return accounts.size();
        }
    
        @Override
        public Account getItem(int pos) {
            return accounts.get(pos);
        }
    
        @Override
        public long getItemId(int pos) {
            return 0;
        }
    
        @Override
        public View getView(int pos, View convertView, ViewGroup parent) {
            View rowView = convertView;
            AccountView entryView = null;
    
            if (rowView == null) {
                LayoutInflater inflater = LayoutInflater.from(mContext);
                rowView = inflater.inflate(R.layout.item_account, null);
    
                entryView = new AccountView();
                entryView.alias = (TextView) rowView.findViewById(R.id.account_alias);
                entryView.host = (TextView) rowView.findViewById(R.id.account_host);
                entryView.select = (ImageView) rowView.findViewById(R.id.account_selected);
                rowView.setTag(entryView);
            } else {
                entryView = (AccountView) rowView.getTag();
            }
    
            entryView.alias.setText(accounts.get(pos).getAlias());
    
            Log.i(TAG, "getView:" + accounts.get(pos).getRegistered_state());
    
            entryView.host.setText(accounts.get(pos).getHost() + " - " + accounts.get(pos).getRegistered_state());
            // accManager.displayAccountDetails(accounts.get(pos), entryView);
            if (pos == selectedAccount) {
                entryView.select.setVisibility(View.VISIBLE);
            } else {
                entryView.select.setVisibility(View.GONE);
            }
    
            return rowView;
        }
    
        /*********************
         * ViewHolder Pattern
         *********************/
        public class AccountView {
            public TextView alias;
            public TextView host;
            public ImageView select;
        }
    
        public void setSelectedAccount(int pos) {
            selectedAccount = pos;
        }
    
        public Account getSelectedAccount() {
            if (selectedAccount == -1) {
                return null;
            }
            return accounts.get(selectedAccount);
        }
    
        public void removeAll() {
            accounts.clear();
            notifyDataSetChanged();
    
        }
    
        public void addAll(ArrayList<Account> results) {
            accounts.addAll(results);
            notifyDataSetChanged();
        }
    
        /**
         * Modify state of specific account
         * 
         * @param accountState
         */
        public void updateAccount(Intent accountState) {
            Log.i(TAG, "updateAccount");
            String id = accountState.getStringExtra("Account");
            String newState = accountState.getStringExtra("state");
            accountState.getStringExtra("Account");
    
            for (Account a : accounts) {
                if (a.getAccountID().contentEquals(id)) {
                    a.setRegistered_state(newState);
                    notifyDataSetChanged();
                    return;
                }
            }
    
        }
    
        public String getAccountOrder() {
            String result = DEFAULT_ACCOUNT_ID + File.separator;
            String selectedID = accounts.get(selectedAccount).getAccountID();
            result += selectedID + File.separator;
    
            for (Account a : accounts) {
                if (a.getAccountID().contentEquals(selectedID)) {
                    continue;
                }
                result += a.getAccountID() + File.separator;
            }
    
            return result;
        }
    
    }