Пример #1
0
 @Override
 public void onFocusChange(View view, boolean hasFocus) {
   // if losing focus and not in touch mode, leave as is
   if (hasFocus || view.isInTouchMode() || mUrlInput.needsUpdate()) {
     setFocusState(hasFocus);
   }
   if (hasFocus) {
     mBaseUi.showTitleBar();
     mUrlInput.forceIme();
     if (mInVoiceMode) {
       mUrlInput.forceFilter();
     }
   } else if (!mUrlInput.needsUpdate()) {
     mUrlInput.dismissDropDown();
     mUrlInput.hideIME();
     if (mUrlInput.getText().length() == 0) {
       Tab currentTab = mUiController.getTabControl().getCurrentTab();
       if (currentTab != null) {
         setDisplayTitle(currentTab.getUrl());
       }
     }
     mBaseUi.suggestHideTitleBar();
   }
   mUrlInput.clearNeedsUpdate();
 }
Пример #2
0
  @Override
  public void onClick(View v) {
    if (!mBuilder.mIsShowing) {
      return;
    }

    if (mNewTab == v) {
      if (mUiController.getTabControl().canCreateNewTab()) {
        callBackNewTabAnim();
      } else {
        boolean isShow =
            mUi.isShowMaxTabsDialog(
                new AlertDialog.OnClickListener() {
                  public void onClick(DialogInterface d, int which) {
                    mUi.closeTheLeastUsedTab();
                    mUi.updateCheckPrompt();
                    callBackNewTabAnim();
                    mBuilder.mIsShowing = false;
                  }
                },
                new AlertDialog.OnClickListener() {
                  public void onClick(DialogInterface d, int which) {
                    mBuilder.mIsShowing = true;
                  }
                });
        if (!isShow) {
          mUi.closeTheLeastUsedTab();
          callBackNewTabAnim();
          mBuilder.mIsShowing = false;
          return;
        }
        mBuilder.mIsShowing = true;
        return;
      }
    } else if (mClearAllTab == v) {
      clearAllTabs();
    } else if (mFullScreen == v) {
      if (!mUi.mNavScreenShowing) {
        callBackFullScreenAnim();
      } else {
        mBuilder.mIsShowing = true;
        return;
      }
    }
    mBuilder.mIsShowing = false;
  }
Пример #3
0
 private void init() {
   LayoutInflater.from(getContext()).inflate(R.layout.nav_screen, this);
   setContentDescription(
       getContext().getResources().getString(R.string.accessibility_transition_navscreen));
   System.out.println("================= NavScreen init 11111111 ====================");
   // mApplication = (Browser) mActivity.getApplication();
   mNewTab = (ImageButton) findViewById(R.id.newtab);
   mClearAllTab = (ImageButton) findViewById(R.id.clearall);
   mFullScreen = (ImageButton) findViewById(R.id.fullscreen);
   mClearAllTab.setOnClickListener(this);
   mFullScreen.setOnClickListener(this);
   mNewTab.setOnClickListener(this);
   mTc = mUiController.getTabControl();
   mTabViews = new HashMap<Tab, View>(mTc.getTabCount());
   mBuilder = (NavTabViewPagerBuilder) findViewById(R.id.viewPagerBuilder);
   mBuilder.makeViewPager(mUi, mTc);
   mNeedsMenu = !ViewConfiguration.get(getContext()).hasPermanentMenuKey();
   changeIncogStyle(mTc.getIncogMode());
 }
Пример #4
0
 public BaseUi(Activity browser, UiController controller) {
   mActivity = browser;
   mUiController = controller;
   mTabControl = controller.getTabControl();
   Resources res = mActivity.getResources();
   mInputManager = (InputMethodManager) browser.getSystemService(Activity.INPUT_METHOD_SERVICE);
   mLockIconSecure = res.getDrawable(R.drawable.ic_secure_holo_dark);
   mLockIconMixed = res.getDrawable(R.drawable.ic_secure_partial_holo_dark);
   FrameLayout frameLayout =
       (FrameLayout) mActivity.getWindow().getDecorView().findViewById(android.R.id.content);
   LayoutInflater.from(mActivity).inflate(R.layout.custom_screen, frameLayout);
   mContentView = (FrameLayout) frameLayout.findViewById(R.id.main_content);
   mCustomViewContainer = (FrameLayout) frameLayout.findViewById(R.id.fullscreen_custom_content);
   mErrorConsoleContainer = (LinearLayout) frameLayout.findViewById(R.id.error_console);
   setFullscreen(BrowserSettings.getInstance().useFullscreen());
   mGenericFavicon = res.getDrawable(R.drawable.app_web_browser_sm);
   mTitleBar = new TitleBar(mActivity, mUiController, this, mContentView);
   mTitleBar.setProgress(100);
   mNavigationBar = mTitleBar.getNavigationBar();
   mUrlBarAutoShowManager = new UrlBarAutoShowManager(this);
 }
Пример #5
0
  private void initLayout(Context context) {
    LayoutInflater factory = LayoutInflater.from(context);
    factory.inflate(R.layout.bottom_bar, this);
    mBottomBar = (LinearLayout) findViewById(R.id.bottombar);
    mBottomBarBack = (ImageView) findViewById(R.id.back);
    mBottomBarForward = (ImageView) findViewById(R.id.forward);
    mBottomBarTabs = (ImageView) findViewById(R.id.tabs);
    mBottomBarBookmarks = (ImageView) findViewById(R.id.bookmarks);
    mBottomBarTabCount = (TextView) findViewById(R.id.tabcount);

    mBottomBarBack.setOnClickListener(
        new OnClickListener() {
          public void onClick(View arg0) {
            ((Controller) mUiController).onBackKey();
          }
        });
    mBottomBarBack.setOnLongClickListener(
        new OnLongClickListener() {
          @Override
          public boolean onLongClick(View arg0) {
            Toast.makeText(
                    mUiController.getActivity(),
                    mUiController.getActivity().getResources().getString(R.string.back),
                    0)
                .show();
            return false;
          }
        });
    mBottomBarForward.setOnClickListener(
        new OnClickListener() {
          public void onClick(View arg0) {
            if (mUiController != null && mUiController.getCurrentTab() != null) {
              mUiController.getCurrentTab().goForward();
            }
          }
        });
    mBottomBarForward.setOnLongClickListener(
        new OnLongClickListener() {
          @Override
          public boolean onLongClick(View arg0) {
            Toast.makeText(
                    mUiController.getActivity(),
                    mUiController.getActivity().getResources().getString(R.string.forward),
                    0)
                .show();
            return false;
          }
        });
    mBottomBarTabs.setOnClickListener(
        new OnClickListener() {
          public void onClick(View arg0) {
            ((PhoneUi) mBaseUi).toggleNavScreen();
          }
        });
    mBottomBarTabs.setOnLongClickListener(
        new OnLongClickListener() {
          @Override
          public boolean onLongClick(View arg0) {
            Toast.makeText(
                    mUiController.getActivity(),
                    mUiController.getActivity().getResources().getString(R.string.tabs),
                    0)
                .show();
            return false;
          }
        });
    mBottomBarBookmarks.setOnClickListener(
        new OnClickListener() {
          public void onClick(View arg0) {
            mUiController.bookmarksOrHistoryPicker(ComboViews.Bookmarks);
          }
        });
    mBottomBarBookmarks.setOnLongClickListener(
        new OnLongClickListener() {
          @Override
          public boolean onLongClick(View arg0) {
            Toast.makeText(
                    mUiController.getActivity(),
                    mUiController.getActivity().getResources().getString(R.string.bookmarks),
                    0)
                .show();
            return false;
          }
        });
    mBottomBarTabCount.setText(Integer.toString(mUiController.getTabControl().getTabCount()));
    mTabControl.setOnTabCountChangedListener(
        new TabControl.OnTabCountChangedListener() {
          public void onTabCountChanged() {
            mBottomBarTabCount.setText(Integer.toString(mTabControl.getTabCount()));
          }
        });
  }
Пример #6
0
  public void callBackFullScreenAnim() {
    // mApplication.setmThumbnailPosition(mBuilder.mCurrentConfigPosition);
    int endPosition = mUiController.getTabControl().getCurrentPosition() / 4;
    Browser application = (Browser) mActivity.getApplication();
    int startPosition = application.getmThumbnailPosition();
    AnimatorSet moveAnim = null;
    int animTime = getResources().getInteger(R.integer.config_shortAnimTime);
    if (endPosition >= mBuilder.getList().size()) endPosition = mBuilder.getList().size() - 1;
    if (endPosition < 0) endPosition = 0;
    int width = getWidth();
    if (endPosition == startPosition) {
      mUi.hideNavScreen(mUiController.getTabControl().getTabPosition(mUi.getActiveTab()), true);
    } else if (endPosition > startPosition) {
      ObjectAnimator oTran;
      ArrayList<Animator> animList = new ArrayList<Animator>();
      for (int i = startPosition; i <= endPosition; i++) {
        if (i != endPosition) {
          oTran =
              ObjectAnimator.ofFloat(
                  mBuilder.getList().get(i), "translationX", 0, -(i - startPosition + 1) * width);
          oTran.setStartDelay(DELAYTIME * (i - startPosition));
          oTran.setDuration(animTime * (i - startPosition + 1));
        } else {
          oTran =
              ObjectAnimator.ofFloat(
                  mBuilder.getList().get(i),
                  "translationX",
                  0,
                  -(endPosition - startPosition) * width);
          oTran.setStartDelay(DELAYTIME * (endPosition - startPosition));
          oTran.setDuration(animTime * (endPosition - startPosition));
        }
        animList.add(oTran);
      }
      moveAnim = new AnimatorSet();
      moveAnim.playTogether(animList);
    } else {
      ObjectAnimator oTran;
      ArrayList<Animator> animList = new ArrayList<Animator>();
      for (int i = startPosition; i >= endPosition; i--) {
        if (i != endPosition) {
          oTran =
              ObjectAnimator.ofFloat(
                  mBuilder.getList().get(i), "translationX", 0, (startPosition - i + 1) * width);
          oTran.setStartDelay(DELAYTIME * (startPosition - i));
          oTran.setDuration(animTime * (startPosition - i + 1));
        } else {
          oTran =
              ObjectAnimator.ofFloat(
                  mBuilder.getList().get(i),
                  "translationX",
                  0,
                  (startPosition - endPosition) * width);
          oTran.setStartDelay(DELAYTIME * (startPosition - endPosition));
          oTran.setDuration(animTime * (startPosition - endPosition));
        }
        animList.add(oTran);
      }
      moveAnim = new AnimatorSet();
      moveAnim.playTogether(animList);
    }
    if (moveAnim != null) {
      moveAnim.addListener(
          new AnimatorListenerAdapter() {

            @Override
            public void onAnimationEnd(Animator animation) {
              // TODO Auto-generated method stub
              mUi.hideNavScreen(
                  mUiController.getTabControl().getTabPosition(mUi.getActiveTab()),
                  true,
                  animation);
              super.onAnimationEnd(animation);
            }
          });
      moveAnim.start();
    }
  }