2828import android .os .Bundle ;
2929import android .os .IBinder ;
3030import android .preference .PreferenceManager ;
31+ import android .support .v7 .app .ActionBar ;
3132import android .support .v7 .app .AlertDialog ;
3233import android .support .v7 .widget .Toolbar ;
3334import android .util .DisplayMetrics ;
6162import jackpal .androidterm .emulatorview .compat .ClipboardManagerCompatFactory ;
6263import jackpal .androidterm .emulatorview .compat .KeycodeConstants ;
6364
64- public class TermActivity extends ThemeSupportActivity implements SharedPreferences .OnSharedPreferenceChangeListener , TermSession .FinishCallback {
65+ public class TermActivity extends ThemeSupportActivity implements SharedPreferences .OnSharedPreferenceChangeListener , TermSession .FinishCallback , ShellTermSession . OnProcessExitListener {
6566 private static final String TAG = "TermActivity" ;
6667 private final static int SELECT_TEXT_ID = 0 ;
6768 private final static int COPY_ALL_ID = 1 ;
@@ -116,7 +117,8 @@ private ShellTermSession createShellTermSession(String cmd, String workdir) {
116117 TermSettings settings = new TermSettings (getResources (), PreferenceManager .getDefaultSharedPreferences (this ));
117118
118119 ShellTermSession shellTermSession = new ShellTermSession (settings , argv , envp , workdir );
119- shellTermSession .setProcessExitMessage (getString (R .string .console_finished ));
120+ shellTermSession .setOnProcessExitListener (this );
121+ // shellTermSession.setProcessExitMessage(getString(R.string.console_finished));
120122
121123 return shellTermSession ;
122124 }
@@ -125,13 +127,17 @@ private ShellTermSession createShellTermSession(String cmd, String workdir) {
125127 public void onCreate (Bundle savedInstanceState ) {
126128 super .onCreate (savedInstanceState );
127129 setContentView (R .layout .activity_term );
128- setSupportActionBar ((Toolbar ) findViewById (R .id .toolbar ));
129- getSupportActionBar ().setDisplayHomeAsUpEnabled (true );
130130
131+ setSupportActionBar ((Toolbar ) findViewById (R .id .toolbar ));
132+ ActionBar actionBar = getSupportActionBar ();
133+ if (actionBar != null ) {
134+ actionBar .setDisplayHomeAsUpEnabled (true );
135+ actionBar .setTitle (R .string .title_menu_terminal );
136+ actionBar .setSubtitle (R .string .console_executing );
137+ }
131138 String fileName = getIntent ().getStringExtra (BuildConstants .EXTRA_FILE_NAME );
132139 String workDir = getIntent ().getStringExtra (BuildConstants .EXTRA_WORK_DIR );
133140
134- setTitle (R .string .title_menu_terminal );
135141
136142 mSession = createShellTermSession (fileName , workDir );
137143 mSession .setFinishCallback (this );
@@ -439,6 +445,11 @@ public void onSessionFinish(TermSession session) {
439445 finish ();
440446 }
441447
448+ @ Override
449+ public void onProcessExit (int exitCode ) {
450+ getSupportActionBar ().setSubtitle (R .string .console_finished );
451+ }
452+
442453
443454 private class EmulatorViewGestureListener extends GestureDetector .SimpleOnGestureListener {
444455 private EmulatorView view ;
0 commit comments