private StatusIconAdapter getStatusAdapter() { try { mStatusItems.clear(); int[] supportedStatus = mConn.getSupportedPresenceStatus(); for (int i = 0; i < supportedStatus.length; i++) { int s = PresenceUtils.convertStatus(supportedStatus[i]); if (s == Imps.Presence.OFFLINE) { s = Imps.Presence.INVISIBLE; } ImApp app = ImApp.getApplication((Activity) mContext); BrandingResources brandingRes = app.getBrandingResource(mProviderId); Drawable icon = brandingRes.getDrawable(PresenceUtils.getStatusIconId(s)); String text = brandingRes.getString(PresenceUtils.getStatusStringRes(s)); mStatusItems.add(new StatusItem(supportedStatus[i], icon, text)); } } catch (RemoteException e) { mHandler.showServiceErrorAlert(); } return new StatusIconAdapter(mContext, mStatusItems); }