Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(790)

Side by Side Diff: blimp/client/app/android/java/src/org/chromium/blimp/app/BlimpRendererActivity.java

Issue 2493333002: Move Java Blimp shell code to app subpackage (Closed)
Patch Set: Merge branch 'refs/heads/master' into blimp-shell-integration Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.blimp; 5 package org.chromium.blimp.app;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.app.Activity; 8 import android.app.Activity;
9 import android.content.Intent; 9 import android.content.Intent;
10 import android.os.Bundle; 10 import android.os.Bundle;
11 import android.os.Handler; 11 import android.os.Handler;
12 import android.text.TextUtils; 12 import android.text.TextUtils;
13 import android.view.View; 13 import android.view.View;
14 import android.widget.TextView; 14 import android.widget.TextView;
15 15
16 import org.chromium.base.CommandLine; 16 import org.chromium.base.CommandLine;
17 import org.chromium.base.Log; 17 import org.chromium.base.Log;
18 import org.chromium.base.annotations.SuppressFBWarnings; 18 import org.chromium.base.annotations.SuppressFBWarnings;
19 import org.chromium.base.library_loader.ProcessInitException; 19 import org.chromium.base.library_loader.ProcessInitException;
20 import org.chromium.blimp.auth.RetryingTokenSource; 20 import org.chromium.blimp.app.auth.RetryingTokenSource;
21 import org.chromium.blimp.auth.TokenSource; 21 import org.chromium.blimp.app.auth.TokenSource;
22 import org.chromium.blimp.auth.TokenSourceImpl; 22 import org.chromium.blimp.app.auth.TokenSourceImpl;
23 import org.chromium.blimp.app.preferences.PreferencesUtil;
24 import org.chromium.blimp.app.session.BlimpClientSession;
25 import org.chromium.blimp.app.session.EngineInfo;
26 import org.chromium.blimp.app.session.TabControlFeature;
27 import org.chromium.blimp.app.toolbar.Toolbar;
28 import org.chromium.blimp.app.toolbar.ToolbarMenu;
23 import org.chromium.blimp.core.BlimpClientSwitches; 29 import org.chromium.blimp.core.BlimpClientSwitches;
24 import org.chromium.blimp.preferences.PreferencesUtil;
25 import org.chromium.blimp.session.BlimpClientSession;
26 import org.chromium.blimp.session.EngineInfo;
27 import org.chromium.blimp.session.TabControlFeature;
28 import org.chromium.blimp.toolbar.Toolbar;
29 import org.chromium.blimp.toolbar.ToolbarMenu;
30 import org.chromium.ui.base.WindowAndroid; 30 import org.chromium.ui.base.WindowAndroid;
31 import org.chromium.ui.widget.Toast; 31 import org.chromium.ui.widget.Toast;
32 32
33 /** 33 /**
34 * The {@link Activity} for rendering the main Blimp client. This loads the Bli mp rendering stack 34 * The {@link Activity} for rendering the main Blimp client. This loads the Bli mp rendering stack
35 * and displays it. 35 * and displays it.
36 */ 36 */
37 public class BlimpRendererActivity 37 public class BlimpRendererActivity
38 extends Activity implements BlimpLibraryLoader.Callback, TokenSource.Cal lback, 38 extends Activity implements BlimpLibraryLoader.Callback, TokenSource.Cal lback,
39 BlimpClientSession.ConnectionObserver, 39 BlimpClientSession.ConnectionObserver,
40 ToolbarMenu.ToolbarMenuDelegate, Toolbar.Too lbarDelegate { 40 ToolbarMenu.ToolbarMenuDelegate, Toolbar.Too lbarDelegate {
41 private static final int ACCOUNT_CHOOSER_INTENT_REQUEST_CODE = 100; 41 private static final int ACCOUNT_CHOOSER_INTENT_REQUEST_CODE = 100;
42 private static final String TAG = "BlimpRendererActivity"; 42 private static final String TAG = "BlimpRendActivity";
43 43
44 // Refresh interval for the debug view in milliseconds. 44 // Refresh interval for the debug view in milliseconds.
45 private static final int DEBUG_VIEW_REFRESH_INTERVAL = 1000; 45 private static final int DEBUG_VIEW_REFRESH_INTERVAL = 1000;
46 private static final int BYTES_PER_KILO = 1024; 46 private static final int BYTES_PER_KILO = 1024;
47 47
48 /** Provides user authentication tokens that can be used to query for engine assignments. This 48 /** Provides user authentication tokens that can be used to query for engine assignments. This
49 * can potentially query GoogleAuthUtil for an OAuth2 authentication token with userinfo.email 49 * can potentially query GoogleAuthUtil for an OAuth2 authentication token with userinfo.email
50 * privileges for a chosen Android account. */ 50 * privileges for a chosen Android account. */
51 private TokenSource mTokenSource; 51 private TokenSource mTokenSource;
52 52
53 private BlimpView mBlimpView; 53 private BlimpContentsDisplay mBlimpContentsDisplay;
54 private Toolbar mToolbar; 54 private Toolbar mToolbar;
55 private BlimpClientSession mBlimpClientSession; 55 private BlimpClientSession mBlimpClientSession;
56 private TabControlFeature mTabControlFeature; 56 private TabControlFeature mTabControlFeature;
57 private WindowAndroid mWindowAndroid; 57 private WindowAndroid mWindowAndroid;
58 58
59 private Handler mHandler = new Handler(); 59 private Handler mHandler = new Handler();
60 60
61 private boolean mFirstUrlLoadDone = false; 61 private boolean mFirstUrlLoadDone = false;
62 62
63 // Flag to record the base value of the metrics when the debug view is turne d on. 63 // Flag to record the base value of the metrics when the debug view is turne d on.
64 private boolean mStatsBaseRecorded = false; 64 private boolean mStatsBaseRecorded = false;
65 private int mSentBase; 65 private int mSentBase;
66 private int mReceivedBase; 66 private int mReceivedBase;
67 private int mCommitsBase; 67 private int mCommitsBase;
68 private int mSent; 68 private int mSent;
69 private int mReceived; 69 private int mReceived;
70 private int mCommits; 70 private int mCommits;
71 private String mToken = null; 71 private String mToken = null;
72 72
73 @Override 73 @Override
74 @SuppressFBWarnings("DM_EXIT") // FindBugs doesn't like System.exit(). 74 @SuppressFBWarnings("DM_EXIT") // FindBugs doesn't like System.exit().
75 protected void onCreate(Bundle savedInstanceState) { 75 protected void onCreate(Bundle savedInstanceState) {
76 super.onCreate(savedInstanceState); 76 super.onCreate(savedInstanceState);
77 buildAndTriggerTokenSourceIfNeeded(); 77 buildAndTriggerTokenSourceIfNeeded();
78 try { 78 try {
79 BlimpLibraryLoader.startAsync(this); 79 BlimpLibraryLoader.startAsync(this);
80 } catch (ProcessInitException e) { 80 } catch (ProcessInitException e) {
81 Log.e(TAG, "Native startup exception", e); 81 Log.e(TAG, "Native startup exception", e);
82 System.exit(-1); 82 System.exit(-1);
83 return; 83 return;
84 } 84 }
85 } 85 }
86 86
87 @Override 87 @Override
88 protected void onDestroy() { 88 protected void onDestroy() {
89 if (mTabControlFeature != null) { 89 if (mTabControlFeature != null) {
90 mTabControlFeature.destroy(); 90 mTabControlFeature.destroy();
91 mTabControlFeature = null; 91 mTabControlFeature = null;
92 } 92 }
93 93
94 if (mBlimpView != null) { 94 if (mBlimpContentsDisplay != null) {
95 mBlimpView.destroyRenderer(); 95 mBlimpContentsDisplay.destroyRenderer();
96 mBlimpView = null; 96 mBlimpContentsDisplay = null;
97 } 97 }
98 98
99 if (mToolbar != null) { 99 if (mToolbar != null) {
100 mToolbar.destroy(); 100 mToolbar.destroy();
101 mToolbar = null; 101 mToolbar = null;
102 } 102 }
103 103
104 if (mTokenSource != null) { 104 if (mTokenSource != null) {
105 mTokenSource.destroy(); 105 mTokenSource.destroy();
106 mTokenSource = null; 106 mTokenSource = null;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 return; 150 return;
151 } 151 }
152 152
153 setContentView(R.layout.blimp_main); 153 setContentView(R.layout.blimp_main);
154 154
155 mWindowAndroid = new WindowAndroid(BlimpRendererActivity.this); 155 mWindowAndroid = new WindowAndroid(BlimpRendererActivity.this);
156 mBlimpClientSession = 156 mBlimpClientSession =
157 new BlimpClientSession(PreferencesUtil.findAssignerUrl(this), mW indowAndroid); 157 new BlimpClientSession(PreferencesUtil.findAssignerUrl(this), mW indowAndroid);
158 mBlimpClientSession.addObserver(this); 158 mBlimpClientSession.addObserver(this);
159 159
160 mBlimpView = (BlimpView) findViewById(R.id.renderer); 160 mBlimpContentsDisplay = (BlimpContentsDisplay) findViewById(R.id.rendere r);
161 mBlimpView.initializeRenderer(mBlimpClientSession); 161 mBlimpContentsDisplay.initializeRenderer(mBlimpClientSession);
162 162
163 mToolbar = (Toolbar) findViewById(R.id.toolbar); 163 mToolbar = (Toolbar) findViewById(R.id.toolbar);
164 mToolbar.initialize(mBlimpClientSession, this); 164 mToolbar.initialize(mBlimpClientSession, this);
165 165
166 mTabControlFeature = new TabControlFeature(mBlimpClientSession, mBlimpVi ew); 166 mTabControlFeature = new TabControlFeature(mBlimpClientSession, mBlimpCo ntentsDisplay);
167 167
168 handleUrlFromIntent(getIntent()); 168 handleUrlFromIntent(getIntent());
169 169
170 // If Blimp client has command line flag "engine-ip", client will use th e command line token 170 // If Blimp client has command line flag "engine-ip", client will use th e command line token
171 // to connect. See GetAssignmentFromCommandLine() in 171 // to connect. See GetAssignmentFromCommandLine() in
172 // blimp/client/session/assignment_source.cc 172 // blimp/client/session/assignment_source.cc
173 // In normal cases, where client uses the engine ip given by the Assigne r, 173 // In normal cases, where client uses the engine ip given by the Assigne r,
174 // connection to the engine is triggered by the successful retrieval of a token as 174 // connection to the engine is triggered by the successful retrieval of a token as
175 // TokenSource.Callback. 175 // TokenSource.Callback.
176 if (CommandLine.getInstance().hasSwitch(BlimpClientSwitches.ENGINE_IP)) { 176 if (CommandLine.getInstance().hasSwitch(BlimpClientSwitches.ENGINE_IP)) {
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 // TokenSourceImpl. This will exponentially backoff while it tries to ge t the access 332 // TokenSourceImpl. This will exponentially backoff while it tries to ge t the access
333 // token. See {@link RetryingTokenSource} for more information. The un derlying 333 // token. See {@link RetryingTokenSource} for more information. The un derlying
334 // TokenSourceImpl will attempt to query GoogleAuthUtil, but might fail if there is no 334 // TokenSourceImpl will attempt to query GoogleAuthUtil, but might fail if there is no
335 // account selected, in which case it will ask this Activity to show an account chooser 335 // account selected, in which case it will ask this Activity to show an account chooser
336 // and notify it of the selection result. 336 // and notify it of the selection result.
337 mTokenSource = new RetryingTokenSource(new TokenSourceImpl(this)); 337 mTokenSource = new RetryingTokenSource(new TokenSourceImpl(this));
338 mTokenSource.setCallback(this); 338 mTokenSource.setCallback(this);
339 mTokenSource.getToken(); 339 mTokenSource.getToken();
340 } 340 }
341 } 341 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698