Fix back button for Legal Preview activity

Change-Id: I6c58662ccc2f508106426d7c6ee6885ffe328456
diff --git a/src/com/android/browser/preferences/LegalPreviewActivity.java b/src/com/android/browser/preferences/LegalPreviewActivity.java
index 8987e98..eeaf558 100644
--- a/src/com/android/browser/preferences/LegalPreviewActivity.java
+++ b/src/com/android/browser/preferences/LegalPreviewActivity.java
@@ -36,6 +36,7 @@
 import android.os.Bundle;
 import android.support.v4.app.FragmentActivity;
 import android.view.KeyEvent;
+import android.view.MenuItem;
 
 import com.android.browser.R;
 
@@ -50,6 +51,7 @@
         ActionBar bar = getActionBar();
         if (bar != null) {
             bar.setTitle(R.string.swe_open_source_licenses);
+            bar.setDisplayHomeAsUpEnabled(true);
         }
         FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
         mLegalPreviewFragment = new LegalPreviewFragment();
@@ -63,17 +65,31 @@
         fragmentTransaction.commit();
     }
 
+    private boolean back() {
+        if(!mLegalPreviewFragment.onBackPressed()) {
+            onBackPressed();
+            return true;
+        } else {
+            return false;
+        }
+    }
     @Override
     public boolean onKeyUp(int keyCode, KeyEvent event) {
         switch(keyCode) {
             case KeyEvent.KEYCODE_BACK:
                 if (event.isTracking() && !event.isCanceled()) {
-                    if(!mLegalPreviewFragment.onBackPressed()) {
-                        finish();
-                    }
+                    return back();
                 }
-                break;
         }
         return false;
     }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+            case android.R.id.home:
+                return back();
+        }
+        return super.onOptionsItemSelected(item);
+    }
 }