Change SWE app properties back to stock Android

- Changed project package name from com.android.swe.browser
back to com.android.browser along with code references to
old package name.
- Changes to AndroidManifest making it conform closer to stock
browser manifest.
- Changed app and apk name back to Browser.

Change-Id: I778ee1d1197bd50bd4a4850eef6d1d7f4ef0ad0b
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
new file mode 100644
index 0000000..1ace9fd
--- /dev/null
+++ b/src/com/android/browser/BrowserActivity.java
@@ -0,0 +1,417 @@
+/*
+ * Copyright (C) 2006 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.KeyguardManager;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.res.Configuration;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.PowerManager;
+import android.util.Log;
+import android.view.ActionMode;
+import android.view.ContextMenu;
+import android.view.ContextMenu.ContextMenuInfo;
+import android.view.KeyEvent;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.Window;
+import android.webkit.JavascriptInterface;
+
+import com.google.common.annotations.VisibleForTesting;
+import com.android.browser.R;
+import com.android.browser.UI.ComboViews;
+import com.android.browser.search.DefaultSearchEngine;
+import com.android.browser.search.SearchEngine;
+import com.android.browser.stub.NullController;
+
+import org.chromium.content.browser.TracingIntentHandler;
+import org.codeaurora.swe.WebSettings;
+import org.codeaurora.swe.WebView;
+
+public class BrowserActivity extends Activity {
+
+    public static final String ACTION_SHOW_BOOKMARKS = "show_bookmarks";
+    public static final String ACTION_SHOW_BROWSER = "show_browser";
+    public static final String ACTION_RESTART = "--restart--";
+    private static final String ACTION_START_TRACE =
+            "org.chromium.content_shell.action.PROFILE_START";
+    private static final String ACTION_STOP_TRACE =
+            "org.chromium.content_shell.action.PROFILE_STOP";
+    private static final String EXTRA_STATE = "state";
+    public static final String EXTRA_DISABLE_URL_OVERRIDE = "disable_url_override";
+
+    private final static String LOGTAG = "browser";
+
+    private final static boolean LOGV_ENABLED = Browser.LOGV_ENABLED;
+
+    private ActivityController mController = NullController.INSTANCE;
+
+
+    private Handler mHandler = new Handler();
+
+    private UiController mUiController;
+    private Handler mHandlerEx = new Handler();
+    private Runnable runnable = new Runnable() {
+        @Override
+        public void run() {
+           if (mUiController != null) {
+               WebView current = mUiController.getCurrentWebView();
+               if (current != null) {
+                   current.postInvalidate();
+               }
+           }
+        }
+    };
+
+    private BroadcastReceiver mReceiver;
+
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        if (LOGV_ENABLED) {
+            Log.v(LOGTAG, this + " onStart, has state: "
+                    + (icicle == null ? "false" : "true"));
+        }
+        super.onCreate(icicle);
+
+        if (shouldIgnoreIntents()) {
+            finish();
+            return;
+        }
+
+        // If this was a web search request, pass it on to the default web
+        // search provider and finish this activity.
+        /*
+        SearchEngine searchEngine = BrowserSettings.getInstance().getSearchEngine();
+        boolean result = IntentHandler.handleWebSearchIntent(this, null, getIntent());
+        if (result && (searchEngine instanceof DefaultSearchEngine)) {
+            finish();
+            return;
+        }
+        */
+        mController = createController();
+
+        Intent intent = (icicle == null) ? getIntent() : null;
+        mController.start(intent);
+    }
+
+    public static boolean isTablet(Context context) {
+        return context.getResources().getBoolean(R.bool.isTablet);
+    }
+
+    private Controller createController() {
+        Controller controller = new Controller(this);
+        boolean xlarge = isTablet(this);
+        UI ui = null;
+        if (xlarge) {
+            XLargeUi tablet = new XLargeUi(this, controller);
+            ui = tablet;
+            mUiController = tablet.getUiController();
+        } else {
+            PhoneUi phone = new PhoneUi(this, controller);
+            ui = phone;
+            mUiController = phone.getUiController();
+        }
+        controller.setUi(ui);
+        return controller;
+    }
+
+    @VisibleForTesting
+    Controller getController() {
+        return (Controller) mController;
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        if (shouldIgnoreIntents()) return;
+        if (ACTION_RESTART.equals(intent.getAction())) {
+            Bundle outState = new Bundle();
+            mController.onSaveInstanceState(outState);
+            finish();
+            getApplicationContext().startActivity(
+                    new Intent(getApplicationContext(), BrowserActivity.class)
+                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                    .putExtra(EXTRA_STATE, outState));
+            return;
+        }
+        mController.handleNewIntent(intent);
+    }
+
+    private KeyguardManager mKeyguardManager;
+    private PowerManager mPowerManager;
+    private boolean shouldIgnoreIntents() {
+        // Only process intents if the screen is on and the device is unlocked
+        // aka, if we will be user-visible
+        if (mKeyguardManager == null) {
+            mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
+        }
+        if (mPowerManager == null) {
+            mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
+        }
+        boolean ignore = !mPowerManager.isScreenOn();
+        ignore |= mKeyguardManager.inKeyguardRestrictedInputMode();
+        if (LOGV_ENABLED) {
+            Log.v(LOGTAG, "ignore intents: " + ignore);
+        }
+        return ignore;
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        if (LOGV_ENABLED) {
+            Log.v(LOGTAG, "BrowserActivity.onResume: this=" + this);
+        }
+        mController.onResume();
+        IntentFilter intentFilter = new IntentFilter(ACTION_START_TRACE);
+        intentFilter.addAction(ACTION_STOP_TRACE);
+        mReceiver = new BroadcastReceiver() {
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                String action = intent.getAction();
+                String extra = intent.getStringExtra("file");
+                if (ACTION_START_TRACE.equals(action)) {
+                    if (extra.isEmpty()) {
+                        Log.e(LOGTAG, "Can not start tracing without specifing saving location");
+                    } else {
+                        TracingIntentHandler.beginTracing(extra);
+                        Log.i(LOGTAG, "start tracing");
+                    }
+                } else if (ACTION_STOP_TRACE.equals(action)) {
+                    Log.i(LOGTAG, "stop tracing");
+                    TracingIntentHandler.endTracing();
+                }
+            }
+        };
+        registerReceiver(mReceiver, intentFilter);
+    }
+
+    @Override
+    public boolean onMenuOpened(int featureId, Menu menu) {
+        if (Window.FEATURE_OPTIONS_PANEL == featureId) {
+            mController.onMenuOpened(featureId, menu);
+        }
+        return true;
+    }
+
+    @Override
+    public void onOptionsMenuClosed(Menu menu) {
+        mController.onOptionsMenuClosed(menu);
+    }
+
+    @Override
+    public void onContextMenuClosed(Menu menu) {
+        super.onContextMenuClosed(menu);
+        mController.onContextMenuClosed(menu);
+    }
+
+    /**
+     *  onSaveInstanceState(Bundle map)
+     *  onSaveInstanceState is called right before onStop(). The map contains
+     *  the saved state.
+     */
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        if (LOGV_ENABLED) {
+            Log.v(LOGTAG, "BrowserActivity.onSaveInstanceState: this=" + this);
+        }
+        mController.onSaveInstanceState(outState);
+    }
+
+    @Override
+    protected void onPause() {
+        mController.onPause();
+        super.onPause();
+    }
+
+    @Override
+    protected void onDestroy() {
+        if (LOGV_ENABLED) {
+            Log.v(LOGTAG, "BrowserActivity.onDestroy: this=" + this);
+        }
+        super.onDestroy();
+        mController.onDestroy();
+        mController = NullController.INSTANCE;
+    }
+
+    @Override
+    public void onConfigurationChanged(Configuration newConfig) {
+        super.onConfigurationChanged(newConfig);
+        mController.onConfgurationChanged(newConfig);
+
+        //For avoiding bug CR520353 temporarily, delay 300ms to refresh WebView.
+        mHandlerEx.postDelayed(runnable, 300);
+    }
+
+    @Override
+    public void onLowMemory() {
+        super.onLowMemory();
+        mController.onLowMemory();
+    }
+
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        super.onCreateOptionsMenu(menu);
+        return mController.onCreateOptionsMenu(menu);
+    }
+
+    @Override
+    public boolean onPrepareOptionsMenu(Menu menu) {
+        super.onPrepareOptionsMenu(menu);
+        return mController.onPrepareOptionsMenu(menu);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (!mController.onOptionsItemSelected(item)) {
+            if (item.getItemId() == R.id.about_menu_id) {
+                final AlertDialog.Builder builder = new AlertDialog.Builder(this);
+                builder.setTitle(R.string.about);
+                builder.setCancelable(true);
+                String ua = "";
+                final WebView current = getController().getCurrentWebView();
+                if (current != null) {
+                    final WebSettings s = current.getSettings();
+                    if (s != null) {
+                        ua = s.getUserAgentString();
+                    }
+                }
+                builder.setMessage("Agent:" + ua);
+                builder.setPositiveButton(android.R.string.ok, null);
+                builder.create().show();
+            }
+            return super.onOptionsItemSelected(item);
+        }
+        return true;
+    }
+
+    @Override
+    public void onCreateContextMenu(ContextMenu menu, View v,
+            ContextMenuInfo menuInfo) {
+        mController.onCreateContextMenu(menu, v, menuInfo);
+    }
+
+    @Override
+    public boolean onContextItemSelected(MenuItem item) {
+        return mController.onContextItemSelected(item);
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return mController.onKeyDown(keyCode, event) ||
+            super.onKeyDown(keyCode, event);
+    }
+
+    @Override
+    public boolean onKeyLongPress(int keyCode, KeyEvent event) {
+        return mController.onKeyLongPress(keyCode, event) ||
+            super.onKeyLongPress(keyCode, event);
+    }
+
+    @Override
+    public boolean onKeyUp(int keyCode, KeyEvent event) {
+        return mController.onKeyUp(keyCode, event) ||
+            super.onKeyUp(keyCode, event);
+    }
+
+    @Override
+    public void onActionModeStarted(ActionMode mode) {
+        super.onActionModeStarted(mode);
+        mController.onActionModeStarted(mode);
+    }
+
+    @Override
+    public void onActionModeFinished(ActionMode mode) {
+        super.onActionModeFinished(mode);
+        mController.onActionModeFinished(mode);
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode,
+            Intent intent) {
+        mController.onActivityResult(requestCode, resultCode, intent);
+    }
+
+    @Override
+    public boolean onSearchRequested() {
+        return mController.onSearchRequested();
+    }
+
+    @Override
+    public boolean dispatchKeyEvent(KeyEvent event) {
+        return mController.dispatchKeyEvent(event)
+                || super.dispatchKeyEvent(event);
+    }
+
+    @Override
+    public boolean dispatchKeyShortcutEvent(KeyEvent event) {
+        return mController.dispatchKeyShortcutEvent(event)
+                || super.dispatchKeyShortcutEvent(event);
+    }
+
+    @Override
+    public boolean dispatchTouchEvent(MotionEvent ev) {
+        return mController.dispatchTouchEvent(ev)
+                || super.dispatchTouchEvent(ev);
+    }
+
+    @Override
+    public boolean dispatchTrackballEvent(MotionEvent ev) {
+        return mController.dispatchTrackballEvent(ev)
+                || super.dispatchTrackballEvent(ev);
+    }
+
+    @Override
+    public boolean dispatchGenericMotionEvent(MotionEvent ev) {
+        return mController.dispatchGenericMotionEvent(ev) ||
+                super.dispatchGenericMotionEvent(ev);
+    }
+
+    // add for carrier homepage feature
+    @JavascriptInterface
+    public void loadBookmarks() {
+        mHandler.post(new Runnable() {
+            @Override
+            public void run() {
+                if (mController instanceof Controller) {
+                    ((Controller)mController).bookmarksOrHistoryPicker(ComboViews.Bookmarks);
+                }
+            }
+        });
+    }
+
+    // add for carrier homepage feature
+    @JavascriptInterface
+    public void loadHistory() {
+        mHandler.post(new Runnable() {
+            @Override
+            public void run() {
+                if (mController instanceof Controller) {
+                    ((Controller)mController).bookmarksOrHistoryPicker(ComboViews.History);
+                }
+            }
+        });
+    }
+}