public boolean apply(boolean isSecondaryIcon) { if (mMobileVisible && !mIsAirplaneMode) { mMobile.setImageResource(mMobileStrengthId); Drawable mobileDrawable = mMobile.getDrawable(); if (mobileDrawable instanceof Animatable) { Animatable ad = (Animatable) mobileDrawable; if (!ad.isRunning()) { ad.start(); } } mMobileDark.setImageResource(mMobileStrengthId); Drawable mobileDarkDrawable = mMobileDark.getDrawable(); if (mobileDarkDrawable instanceof Animatable) { Animatable ad = (Animatable) mobileDarkDrawable; if (!ad.isRunning()) { ad.start(); } } mMobileType.setImageResource(mMobileTypeId); mMobileGroup.setContentDescription(mMobileTypeDescription + " " + mMobileDescription); mMobileGroup.setVisibility(View.VISIBLE); } else { mMobileGroup.setVisibility(View.GONE); } // When this isn't next to wifi, give it some extra padding between the signals. mMobileGroup.setPaddingRelative(isSecondaryIcon ? mSecondaryTelephonyPadding : 0, 0, 0, 0); mMobile.setPaddingRelative(mIsMobileTypeIconWide ? mWideTypeIconStartPadding : 0, 0, 0, 0); mMobileDark.setPaddingRelative( mIsMobileTypeIconWide ? mWideTypeIconStartPadding : 0, 0, 0, 0); if (DEBUG) Log.d( TAG, String.format( "mobile: %s sig=%d dark=%d typ=%d", (mMobileVisible ? "VISIBLE" : "GONE"), mMobileStrengthId, mMobileDarkStrengthId, mMobileTypeId)); mMobileType.setVisibility(mMobileTypeId != 0 ? View.VISIBLE : View.GONE); return mMobileVisible; }
@Override public void setPaddingRelative(int start, int top, int end, int bottom) { super.setPaddingRelative(start, top, end, bottom); setup(); }
// Run after each indicator change. private void apply() { if (mWifiGroup == null) return; mVpn.setVisibility(mVpnVisible ? View.VISIBLE : View.GONE); if (DEBUG) Log.d(TAG, String.format("vpn: %s", mVpnVisible ? "VISIBLE" : "GONE")); if (mWifiVisible) { mWifi.setImageResource(mWifiStrengthId); mWifiActivity.setImageResource(mWifiActivityId); mWifiGroup.setContentDescription(mWifiDescription); mWifiGroup.setVisibility(View.VISIBLE); } else { mWifiGroup.setVisibility(View.GONE); } if (DEBUG) Log.d( TAG, String.format( "wifi: %s sig=%d act=%d", (mWifiVisible ? "VISIBLE" : "GONE"), mWifiStrengthId, mWifiActivityId)); if (mMobileVisible && !mIsAirplaneMode) { updateMobile(); updateCdma(); updateData(); updateDataVoice(); mMobileGroup.setVisibility(View.VISIBLE); } else { mMobileGroup.setVisibility(View.GONE); mMobileCdmaGroup.setVisibility(View.GONE); mMobileCdma1xOnly.setVisibility(View.GONE); mDataGroup.setVisibility(View.GONE); } if (mIsAirplaneMode) { mAirplane.setImageResource(mAirplaneIconId); mAirplane.setVisibility(View.VISIBLE); } else { mAirplane.setVisibility(View.GONE); } if (mWifiVisible && ((mIsAirplaneMode) || (mNoSimIconId != 0))) { mWifiAirplaneSpacer.setVisibility(View.VISIBLE); } else { mWifiAirplaneSpacer.setVisibility(View.GONE); } if (mRoaming && mMobileVisible && mWifiVisible) { mWifiSignalSpacer.setVisibility(View.VISIBLE); } else { mWifiSignalSpacer.setVisibility(View.GONE); } mMobile.setPaddingRelative(mIsMobileTypeIconWide ? mWideTypeIconStartPadding : 0, 0, 0, 0); if (DEBUG) Log.d( TAG, String.format( "mobile: %s sig=%d act=%d typ=%d", (mMobileVisible ? "VISIBLE" : "GONE"), mMobileStrengthId, mMobileActivityId, mMobileTypeId)); if (mStyle == STATUS_BAR_STYLE_ANDROID_DEFAULT) { mMobileType.setVisibility((mRoaming || mMobileTypeId != 0) ? View.VISIBLE : View.GONE); } else { mMobileType.setVisibility(View.GONE); } if (mStyle != STATUS_BAR_STYLE_ANDROID_DEFAULT) { if (mNoSimIconId != 0) { mNoSimSlot.setVisibility(View.VISIBLE); mMobile.setVisibility(View.GONE); } else { mNoSimSlot.setVisibility(View.GONE); mMobile.setVisibility(View.VISIBLE); } } }