Alexandre Lision | 5f144b8 | 2014-02-11 09:59:36 -0500 | [diff] [blame] | 1 | package org.sflphone.fragments; |
| 2 | |
| 3 | import android.content.BroadcastReceiver; |
| 4 | import android.content.Context; |
| 5 | import android.content.Intent; |
| 6 | import android.content.IntentFilter; |
| 7 | import android.os.Bundle; |
| 8 | import android.support.v4.app.Fragment; |
| 9 | import android.util.Log; |
| 10 | import org.sflphone.interfaces.AccountsInterface; |
| 11 | import org.sflphone.service.ConfigurationManagerCallback; |
| 12 | |
| 13 | /** |
| 14 | * Created by lisional on 11/02/14. |
| 15 | */ |
| 16 | public class AccountWrapperFragment extends Fragment implements AccountsInterface { |
| 17 | |
| 18 | |
| 19 | private AccountsReceiver mReceiver; |
| 20 | |
| 21 | |
| 22 | @Override |
| 23 | public void onCreate(Bundle savedInstanceState) { |
| 24 | super.onCreate(savedInstanceState); |
| 25 | mReceiver = new AccountsReceiver(); |
| 26 | } |
| 27 | |
| 28 | @Override |
| 29 | public void onResume() { |
Alexandre Lision | 48b49eb | 2014-02-11 13:37:33 -0500 | [diff] [blame^] | 30 | super.onResume(); |
| 31 | IntentFilter intentFilter = new IntentFilter(); |
| 32 | intentFilter.addAction(ConfigurationManagerCallback.ACCOUNT_STATE_CHANGED); |
| 33 | intentFilter.addAction(ConfigurationManagerCallback.ACCOUNTS_CHANGED); |
Alexandre Lision | 5f144b8 | 2014-02-11 09:59:36 -0500 | [diff] [blame] | 34 | getActivity().registerReceiver(mReceiver, intentFilter); |
| 35 | } |
| 36 | |
| 37 | @Override |
| 38 | public void accountsChanged() { |
| 39 | |
| 40 | } |
| 41 | |
| 42 | @Override |
Alexandre Lision | 48b49eb | 2014-02-11 13:37:33 -0500 | [diff] [blame^] | 43 | public void accountStateChanged(String accoundID, String state, int code) { |
Alexandre Lision | 5f144b8 | 2014-02-11 09:59:36 -0500 | [diff] [blame] | 44 | |
| 45 | } |
| 46 | |
| 47 | |
| 48 | @Override |
| 49 | public void onPause() { |
| 50 | super.onPause(); |
| 51 | getActivity().unregisterReceiver(mReceiver); |
| 52 | } |
| 53 | |
| 54 | public class AccountsReceiver extends BroadcastReceiver { |
| 55 | |
| 56 | private final String TAG = AccountsReceiver.class.getSimpleName(); |
| 57 | |
| 58 | @Override |
| 59 | public void onReceive(Context context, Intent intent) { |
| 60 | if (intent.getAction().contentEquals(ConfigurationManagerCallback.ACCOUNT_STATE_CHANGED)) { |
| 61 | Log.i(TAG, "Received" + intent.getAction()); |
Alexandre Lision | 48b49eb | 2014-02-11 13:37:33 -0500 | [diff] [blame^] | 62 | accountStateChanged(intent.getStringExtra("Account"), intent.getStringExtra("state"), intent.getIntExtra("code", 0)); |
Alexandre Lision | 5f144b8 | 2014-02-11 09:59:36 -0500 | [diff] [blame] | 63 | } else if (intent.getAction().contentEquals(ConfigurationManagerCallback.ACCOUNTS_CHANGED)) { |
| 64 | Log.i(TAG, "Received" + intent.getAction()); |
| 65 | accountsChanged(); |
| 66 | |
| 67 | } |
| 68 | |
| 69 | } |
| 70 | } |
| 71 | |
| 72 | |
| 73 | } |