Exemplo n.º 1
0
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.status, container, false);

    statusText = (TextView) view.findViewById(R.id.status_text);
    statusLed = (ImageView) view.findViewById(R.id.status_led);

    mListener =
        new LinphoneCoreListenerBase() {
          @Override
          public void registrationState(
              final LinphoneCore lc,
              final LinphoneProxyConfig proxy,
              final LinphoneCore.RegistrationState state,
              String smessage) {
            if (!isAttached || !RedfoxService.isReady()) {
              return;
            }

            if (lc.getProxyConfigList() == null) {
              statusLed.setImageResource(R.drawable.led_disconnected);
              statusText.setText(getString(R.string.no_account));
            } else {
              statusLed.setVisibility(View.VISIBLE);
            }

            if (lc.getDefaultProxyConfig() != null && lc.getDefaultProxyConfig().equals(proxy)) {
              statusLed.setImageResource(getStatusIconResource(state, true));
              statusText.setText(getStatusIconText(state));
            } else if (lc.getDefaultProxyConfig() == null) {
              statusLed.setImageResource(getStatusIconResource(state, true));
              statusText.setText(getStatusIconText(state));
            }

            try {
              statusText.setOnClickListener(
                  new OnClickListener() {
                    @Override
                    public void onClick(View v) {
                      lc.refreshRegisters();
                    }
                  });
            } catch (IllegalStateException ise) {
            }
          }
        };

    LinphoneCore lc = RedfoxManager.getLcIfManagerNotDestroyedOrNull();
    if (lc != null) {
      lc.addListener(mListener);
      LinphoneProxyConfig lpc = lc.getDefaultProxyConfig();
      if (lpc != null) {
        mListener.registrationState(lc, lpc, lpc.getState(), null);
      }
    }

    return view;
  }