private void populateViewFlipper() { if (mTermService != null) { mTermSessions = mTermService.getSessions(); mTermSessions.addCallback(this); if (mTermSessions.size() == 0) { mTermSessions.add(createTermSession()); } for (TermSession session : mTermSessions) { EmulatorView view = createEmulatorView(session); mViewFlipper.addView(view); } updatePrefs(); Intent intent = getIntent(); int flags = intent.getFlags(); String action = intent.getAction(); if ((flags & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0 && action != null) { if (action.equals(RemoteInterface.PRIVACT_OPEN_NEW_WINDOW)) { mViewFlipper.setDisplayedChild(mTermSessions.size() - 1); } else if (action.equals(RemoteInterface.PRIVACT_SWITCH_WINDOW)) { int target = intent.getIntExtra(RemoteInterface.PRIVEXTRA_TARGET_WINDOW, -1); if (target >= 0) { mViewFlipper.setDisplayedChild(target); } } } mViewFlipper.resumeCurrentView(); } }
public boolean onNavigationItemSelected(int position, long id) { int oldPosition = mViewFlipper.getDisplayedChild(); if (position != oldPosition) { mViewFlipper.setDisplayedChild(position); if (mActionBarMode == TermSettings.ACTION_BAR_MODE_HIDES) { mActionBar.hide(); } } return true; }
private void doCreateNewWindow() { if (mTermSessions == null) { Log.w(TermDebug.LOG_TAG, "Couldn't create new window because mTermSessions == null"); return; } TermSession session = createTermSession(); mTermSessions.add(session); TermView view = createEmulatorView(session); view.updatePrefs(mSettings); mViewFlipper.addView(view); mViewFlipper.setDisplayedChild(mViewFlipper.getChildCount() - 1); }
@Override public void onResume() { super.onResume(); SessionList sessions = mTermSessions; TermViewFlipper viewFlipper = mViewFlipper; if (sessions != null) { sessions.addCallback(this); WindowListAdapter adapter = mWinListAdapter; if (adapter != null) { sessions.addCallback(adapter); sessions.addTitleChangedListener(adapter); viewFlipper.addCallback(adapter); } } if (sessions != null && sessions.size() < viewFlipper.getChildCount()) { for (int i = 0; i < viewFlipper.getChildCount(); ++i) { EmulatorView v = (EmulatorView) viewFlipper.getChildAt(i); if (!sessions.contains(v.getTermSession())) { v.onPause(); viewFlipper.removeView(v); --i; } } } mPrefs = PreferenceManager.getDefaultSharedPreferences(this); // the HOME dir needs to be set here since it comes from Context SharedPreferences.Editor editor = mPrefs.edit(); String defValue = getDir("HOME", MODE_PRIVATE).getAbsolutePath(); String homePath = mPrefs.getString("home_path", defValue); editor.putString("home_path", homePath); editor.commit(); mSettings.readPrefs(mPrefs); updatePrefs(); if (onResumeSelectWindow >= 0) { viewFlipper.setDisplayedChild(onResumeSelectWindow); onResumeSelectWindow = -1; } viewFlipper.onResume(); }