| Index: shell/android/apk/src/org/chromium/mojo/shell/ViewportActivity.java
|
| diff --git a/shell/android/apk/src/org/chromium/mojo/shell/ViewportActivity.java b/shell/android/apk/src/org/chromium/mojo/shell/ViewportActivity.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f356e209a442ee52ca70a8f1ba8c76b7f22f796f
|
| --- /dev/null
|
| +++ b/shell/android/apk/src/org/chromium/mojo/shell/ViewportActivity.java
|
| @@ -0,0 +1,57 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.mojo.shell;
|
| +
|
| +import android.app.Activity;
|
| +import android.app.UiModeManager;
|
| +import android.content.Intent;
|
| +import android.content.res.Configuration;
|
| +import android.os.Bundle;
|
| +import android.view.WindowManager;
|
| +
|
| +import org.chromium.mojo.PlatformViewportAndroid;
|
| +
|
| +/**
|
| + * Activity for displaying on the screen from the NativeViewportService.
|
| + */
|
| +public class ViewportActivity extends Activity {
|
| + private static final String TAG = "ViewportActivity";
|
| + private PlatformViewportAndroid mPlatformViewport;
|
| +
|
| + @Override
|
| + protected void onCreate(final Bundle savedInstanceState) {
|
| + super.onCreate(savedInstanceState);
|
| +
|
| + if (!PlatformViewportAndroid.newActivityStarted(this)) {
|
| + // We have not attached to a viewport, so there's no point continuing.
|
| + finishAndRemoveTask();
|
| + }
|
| +
|
| + // TODO(tonyg): Watch activities go back to the home screen within a
|
| + // couple of seconds of detaching from adb. So for demonstration purposes,
|
| + // we just keep the screen on. Eventually we'll want a solution for
|
| + // allowing the screen to sleep without quitting the shell.
|
| + // TODO(etiennej): Verify the above is still true after the switch to a Service model.
|
| + UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE);
|
| + if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_WATCH) {
|
| + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
| + }
|
| + }
|
| +
|
| + @Override
|
| + public void onNewIntent(Intent intent) {
|
| + super.onNewIntent(intent);
|
| + new RuntimeException("This activity instance should only ever receive one intent.");
|
| + }
|
| +
|
| + /**
|
| + * @see Activity#onActivityResult(int, int, Intent)
|
| + * TODO(etiennej): Fix by changing IntentReceiverService into an Activity.
|
| + */
|
| + @Override
|
| + protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
| + IntentReceiverRegistry.getInstance().onActivityResult(requestCode, resultCode, data);
|
| + }
|
| +}
|
|
|