public void updateTabs(boolean areTabsShown) { if (areTabsShown) { mTabs.setImageLevel(TABS_EXPANDED); mTabs.getBackground().setLevel(TABS_EXPANDED); } else { mTabs.setImageLevel(TABS_CONTRACTED); mTabs.getBackground().setLevel(TABS_CONTRACTED); } }
public void setSecurityMode(String mode) { mShowSiteSecurity = true; if (mode.equals(SiteIdentityPopup.IDENTIFIED)) { mSiteSecurity.setImageLevel(1); } else if (mode.equals(SiteIdentityPopup.VERIFIED)) { mSiteSecurity.setImageLevel(2); } else { mSiteSecurity.setImageLevel(0); mShowSiteSecurity = false; } }
public void updateTabs(int count) { if (mCount > count) { mTabsCount.setInAnimation(mSlideDownIn); mTabsCount.setOutAnimation(mSlideDownOut); } else if (mCount < count) { mTabsCount.setInAnimation(mSlideUpIn); mTabsCount.setOutAnimation(mSlideUpOut); } if (count > 1) mTabs.setImageLevel(count); else mTabs.setImageLevel(0); mTabsCount.setVisibility(View.VISIBLE); mTabsCount.setText(String.valueOf(count)); mCount = count; mHandler.postDelayed( new Runnable() { public void run() { ((TextView) mTabsCount.getCurrentView()).setTextColor(mColor); } }, mDuration); mHandler.postDelayed( new Runnable() { public void run() { if (Tabs.getInstance().getCount() == 1) { mTabs.setImageLevel(1); mTabsCount.setVisibility(View.GONE); ((TextView) mTabsCount.getCurrentView()).setTextColor(mCounterColor); } else { ((TextView) mTabsCount.getCurrentView()).setTextColor(mCounterColor); } } }, 2 * mDuration); }
private void updateSiteIdentity(Tab tab, EnumSet<UpdateFlags> flags) { final SiteIdentity siteIdentity; if (tab == null) { siteIdentity = null; } else { siteIdentity = tab.getSiteIdentity(); } mSiteIdentityPopup.setSiteIdentity(siteIdentity); final SecurityMode securityMode; final MixedMode activeMixedMode; final MixedMode displayMixedMode; final TrackingMode trackingMode; if (siteIdentity == null) { securityMode = SecurityMode.UNKNOWN; activeMixedMode = MixedMode.UNKNOWN; displayMixedMode = MixedMode.UNKNOWN; trackingMode = TrackingMode.UNKNOWN; } else { securityMode = siteIdentity.getSecurityMode(); activeMixedMode = siteIdentity.getMixedModeActive(); displayMixedMode = siteIdentity.getMixedModeDisplay(); trackingMode = siteIdentity.getTrackingMode(); } // This is a bit tricky, but we have one icon and three potential indicators. // Default to the identity level int imageLevel = securityMode.ordinal(); // Check to see if any protection was overridden first if (trackingMode == TrackingMode.TRACKING_CONTENT_LOADED) { imageLevel = LEVEL_SHIELD_DISABLED; } else if (trackingMode == TrackingMode.TRACKING_CONTENT_BLOCKED) { imageLevel = LEVEL_SHIELD_ENABLED; } else if (activeMixedMode == MixedMode.MIXED_CONTENT_LOADED) { imageLevel = LEVEL_LOCK_DISABLED; } else if (displayMixedMode == MixedMode.MIXED_CONTENT_LOADED) { imageLevel = LEVEL_WARNING_MINOR; } if (mSecurityImageLevel != imageLevel) { mSecurityImageLevel = imageLevel; mSiteSecurity.setImageLevel(mSecurityImageLevel); updatePageActions(flags); } mTrackingProtectionEnabled = trackingMode == TrackingMode.TRACKING_CONTENT_BLOCKED; }
private void setUpInputViewButtons() { boolean empty = inputView.getText().toString().trim().isEmpty(); if (empty != isInputEmpty) { isInputEmpty = empty; } if (isInputEmpty) { sendButton.setImageResource(R.drawable.ic_button_send_inactive_24dp); securityButton.setVisibility(View.VISIBLE); if (HttpFileUploadManager.getInstance().isFileUploadSupported(account)) { attachButton.setVisibility(View.VISIBLE); } else { attachButton.setVisibility(View.GONE); } } else { sendButton.setImageResource(R.drawable.ic_button_send); sendButton.setImageLevel(AccountManager.getInstance().getColorLevel(account)); securityButton.setVisibility(View.GONE); attachButton.setVisibility(View.GONE); } }
private void updateSecurityButton() { SecurityLevel securityLevel = OTRManager.getInstance().getSecurityLevel(account, user); securityButton.setImageLevel(securityLevel.getImageLevel()); }
public void show(Panel panelToShow) { if (!isShown()) setVisibility(View.VISIBLE); if (mPanel != null) { // Hide the old panel. mPanel.hide(); } final boolean showAnimation = !mVisible; mVisible = true; mCurrentPanel = panelToShow; int index = panelToShow.ordinal(); mTabWidget.setCurrentTab(index); switch (panelToShow) { case NORMAL_TABS: mPanel = mPanelNormal; break; case PRIVATE_TABS: mPanel = mPanelPrivate; break; case REMOTE_TABS: mPanel = mPanelRemote; break; default: throw new IllegalArgumentException("Unknown panel type " + panelToShow); } mPanel.show(); if (mCurrentPanel == Panel.REMOTE_TABS) { if (mFooter != null) mFooter.setVisibility(View.GONE); mAddTab.setVisibility(View.INVISIBLE); mMenuButton.setVisibility(View.GONE); } else { if (mFooter != null) mFooter.setVisibility(View.VISIBLE); mAddTab.setVisibility(View.VISIBLE); mAddTab.setImageLevel(index); if (!HardwareUtils.hasMenuButton()) { mMenuButton.setVisibility(View.VISIBLE); mMenuButton.setEnabled(true); mPopupMenu.setAnchor(mMenuButton); } else { mPopupMenu.setAnchor(mAddTab); } } if (isSideBar()) { if (showAnimation) dispatchLayoutChange(getWidth(), getHeight()); } else { int actionBarHeight = mContext.getResources().getDimensionPixelSize(R.dimen.browser_toolbar_height); int height = actionBarHeight + getTabContainerHeight(mTabsContainer); dispatchLayoutChange(getWidth(), height); } mHeaderVisible = true; }
public void from(LinearLayout layout) { mLayout = layout; mShowSiteSecurity = false; mShowReader = false; mReaderPopup = null; mAwesomeBar = (Button) mLayout.findViewById(R.id.awesome_bar); mAwesomeBar.setOnClickListener( new Button.OnClickListener() { public void onClick(View v) { GeckoApp.mAppContext.hideTabs(); onAwesomeBarSearch(); } }); mAwesomeBar.setOnCreateContextMenuListener( new View.OnCreateContextMenuListener() { public void onCreateContextMenu( ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { MenuInflater inflater = GeckoApp.mAppContext.getMenuInflater(); inflater.inflate(R.menu.titlebar_contextmenu, menu); String clipboard = GeckoAppShell.getClipboardText(); if (clipboard == null || TextUtils.isEmpty(clipboard)) { menu.findItem(R.id.pasteandgo).setVisible(false); menu.findItem(R.id.paste).setVisible(false); } Tab tab = Tabs.getInstance().getSelectedTab(); if (tab != null) { String url = tab.getURL(); if (url == null) { menu.findItem(R.id.copyurl).setVisible(false); menu.findItem(R.id.share).setVisible(false); menu.findItem(R.id.add_to_launcher).setVisible(false); } } else { // if there is no tab, remove anything tab dependent menu.findItem(R.id.copyurl).setVisible(false); menu.findItem(R.id.share).setVisible(false); menu.findItem(R.id.add_to_launcher).setVisible(false); } } }); mPadding = new int[] { mAwesomeBar.getPaddingLeft(), mAwesomeBar.getPaddingTop(), mAwesomeBar.getPaddingRight(), mAwesomeBar.getPaddingBottom() }; mTabs = (ImageButton) mLayout.findViewById(R.id.tabs); mTabs.setOnClickListener( new Button.OnClickListener() { public void onClick(View v) { toggleTabs(); } }); mTabs.setImageLevel(0); mTabsCount = (TextSwitcher) mLayout.findViewById(R.id.tabs_count); mTabsCount.removeAllViews(); mTabsCount.setFactory(this); mTabsCount.setText(""); mCount = 0; mBack = (ImageButton) mLayout.findViewById(R.id.back); mBack.setOnClickListener( new Button.OnClickListener() { public void onClick(View view) { Tabs.getInstance().getSelectedTab().doBack(); } }); mForward = (ImageButton) mLayout.findViewById(R.id.forward); mForward.setOnClickListener( new Button.OnClickListener() { public void onClick(View view) { Tabs.getInstance().getSelectedTab().doForward(); } }); mFavicon = (ImageButton) mLayout.findViewById(R.id.favicon); mSiteSecurity = (ImageButton) mLayout.findViewById(R.id.site_security); mSiteSecurity.setOnClickListener( new Button.OnClickListener() { public void onClick(View view) { int[] lockLocation = new int[2]; view.getLocationOnScreen(lockLocation); LayoutParams lockLayoutParams = (LayoutParams) view.getLayoutParams(); // Calculate the left margin for the arrow based on the position of the lock icon. int leftMargin = lockLocation[0] - lockLayoutParams.rightMargin; SiteIdentityPopup.getInstance().show(mSiteSecurity, leftMargin); } }); mProgressSpinner = (AnimationDrawable) mContext.getResources().getDrawable(R.drawable.progress_spinner); mStop = (ImageButton) mLayout.findViewById(R.id.stop); mStop.setOnClickListener( new Button.OnClickListener() { public void onClick(View v) { Tab tab = Tabs.getInstance().getSelectedTab(); if (tab != null) tab.doStop(); } }); mReader = (ImageButton) mLayout.findViewById(R.id.reader); mReader.setOnClickListener( new Button.OnClickListener() { public void onClick(View view) { if (mReaderPopup == null) mReaderPopup = new ReaderPopup(GeckoApp.mAppContext); mReaderPopup.show(); } }); mShadow = (ImageView) mLayout.findViewById(R.id.shadow); mHandler = new Handler(); mSlideUpIn = new TranslateAnimation(0, 0, 40, 0); mSlideUpOut = new TranslateAnimation(0, 0, 0, -40); mSlideDownIn = new TranslateAnimation(0, 0, -40, 0); mSlideDownOut = new TranslateAnimation(0, 0, 0, 40); mDuration = 750; mSlideUpIn.setDuration(mDuration); mSlideUpOut.setDuration(mDuration); mSlideDownIn.setDuration(mDuration); mSlideDownOut.setDuration(mDuration); mMenu = (ImageButton) mLayout.findViewById(R.id.menu); mActionItemBar = (LinearLayout) mLayout.findViewById(R.id.menu_items); mHasSoftMenuButton = false; if (Build.VERSION.SDK_INT >= 11) mHasSoftMenuButton = true; if (Build.VERSION.SDK_INT >= 14) { if (!ViewConfiguration.get(GeckoApp.mAppContext).hasPermanentMenuKey()) mHasSoftMenuButton = true; else mHasSoftMenuButton = false; } if (mHasSoftMenuButton) { mMenu.setVisibility(View.VISIBLE); mMenu.setOnClickListener( new Button.OnClickListener() { public void onClick(View view) { GeckoApp.mAppContext.openOptionsMenu(); } }); } if (Build.VERSION.SDK_INT >= 11) { View panel = GeckoApp.mAppContext.getMenuPanel(); // If panel is null, the app is starting up for the first time; // add this to the popup only if we have a soft menu button. // else, browser-toolbar is initialized on rotation, // and we need to re-attach action-bar items. if (panel == null) { GeckoApp.mAppContext.onCreatePanelMenu(Window.FEATURE_OPTIONS_PANEL, null); panel = GeckoApp.mAppContext.getMenuPanel(); if (mHasSoftMenuButton) { mMenuPopup = new MenuPopup(mContext); mMenuPopup.setPanelView(panel); } } } }
public BrowserToolbar(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; // Get the device's highlight color ContextThemeWrapper wrapper = new ContextThemeWrapper(mContext, android.R.style.TextAppearance); TypedArray typedArray = wrapper.getTheme().obtainStyledAttributes(new int[] {android.R.attr.textColorHighlight}); mColor = typedArray.getColor(typedArray.getIndex(0), 0); // Load layout into the custom view LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.browser_toolbar, this); mAwesomeBar = (Button) findViewById(R.id.awesome_bar); mAwesomeBar.setOnClickListener( new Button.OnClickListener() { public void onClick(View v) { onAwesomeBarSearch(); } }); Resources resources = getResources(); int padding[] = { mAwesomeBar.getPaddingLeft(), mAwesomeBar.getPaddingTop(), mAwesomeBar.getPaddingRight(), mAwesomeBar.getPaddingBottom() }; GeckoStateListDrawable states = new GeckoStateListDrawable(); states.initializeFilter(mColor); states.addState( new int[] {android.R.attr.state_pressed}, resources.getDrawable(R.drawable.address_bar_url_pressed)); states.addState(new int[] {}, resources.getDrawable(R.drawable.address_bar_url_default)); mAwesomeBar.setBackgroundDrawable(states); mAwesomeBar.setPadding(padding[0], padding[1], padding[2], padding[3]); mTabs = (ImageButton) findViewById(R.id.tabs); mTabs.setOnClickListener( new Button.OnClickListener() { public void onClick(View v) { if (Tabs.getInstance().getCount() > 1) showTabs(); else addTab(); } }); mTabs.setImageLevel(1); mCounterColor = 0x99ffffff; mTabsCount = (TextSwitcher) findViewById(R.id.tabs_count); mTabsCount.setFactory( new ViewFactory() { public View makeView() { TextView text = new TextView(mContext); text.setGravity(Gravity.CENTER); text.setTextSize(16); text.setTextColor(mCounterColor); text.setTypeface(text.getTypeface(), Typeface.BOLD); return text; } }); mCount = 0; mTabsCount.setText("0"); mFavicon = (ImageButton) findViewById(R.id.favicon); mSiteSecurity = (ImageButton) findViewById(R.id.site_security); mProgressSpinner = (AnimationDrawable) resources.getDrawable(R.drawable.progress_spinner); mStop = (ImageButton) findViewById(R.id.stop); mStop.setOnClickListener( new Button.OnClickListener() { public void onClick(View v) { doStop(); } }); mHandler = new Handler(); mSlideUpIn = new TranslateAnimation(0, 0, 30, 0); mSlideUpOut = new TranslateAnimation(0, 0, 0, -30); mSlideDownIn = new TranslateAnimation(0, 0, -30, 0); mSlideDownOut = new TranslateAnimation(0, 0, 0, 30); mDuration = 750; mSlideUpIn.setDuration(mDuration); mSlideUpOut.setDuration(mDuration); mSlideDownIn.setDuration(mDuration); mSlideDownOut.setDuration(mDuration); }
public void setSecurityMode(String mode) { if (mode.equals("identified") || mode.equals("verified")) mSiteSecurity.setImageLevel(1); else mSiteSecurity.setImageLevel(0); }