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

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

Issue 1687393002: Add assigner support to Blimp (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months 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;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.content.Intent; 8 import android.content.Intent;
9 import android.os.Bundle; 9 import android.os.Bundle;
10 10
11 import org.chromium.base.Log; 11 import org.chromium.base.Log;
12 import org.chromium.base.library_loader.ProcessInitException; 12 import org.chromium.base.library_loader.ProcessInitException;
13 import org.chromium.blimp.auth.RetryingTokenSource; 13 import org.chromium.blimp.auth.RetryingTokenSource;
14 import org.chromium.blimp.auth.TokenSource; 14 import org.chromium.blimp.auth.TokenSource;
15 import org.chromium.blimp.auth.TokenSourceImpl; 15 import org.chromium.blimp.auth.TokenSourceImpl;
16 import org.chromium.blimp.session.BlimpClientSession; 16 import org.chromium.blimp.session.BlimpClientSession;
17 import org.chromium.blimp.session.TabControlFeature; 17 import org.chromium.blimp.session.TabControlFeature;
18 import org.chromium.blimp.toolbar.Toolbar; 18 import org.chromium.blimp.toolbar.Toolbar;
19 import org.chromium.ui.widget.Toast; 19 import org.chromium.ui.widget.Toast;
20 20
21 /** 21 /**
22 * The {@link Activity} for rendering the main Blimp client. This loads the Bli mp rendering stack 22 * The {@link Activity} for rendering the main Blimp client. This loads the Bli mp rendering stack
23 * and displays it. 23 * and displays it.
24 */ 24 */
25 public class BlimpRendererActivity extends Activity implements BlimpLibraryLoade r.Callback, 25 public class BlimpRendererActivity extends Activity
26 TokenSource.Callback { 26 implements BlimpLibraryLoader.Callback, TokenSource.Callback, BlimpClien tSession.Callback {
27
28 private static final int ACCOUNT_CHOOSER_INTENT_REQUEST_CODE = 100; 27 private static final int ACCOUNT_CHOOSER_INTENT_REQUEST_CODE = 100;
29 private static final String TAG = "Blimp"; 28 private static final String TAG = "Blimp";
30 private TokenSource mTokenSource; 29 private TokenSource mTokenSource;
Kevin M 2016/02/12 19:45:26 Could you document tokenSource?
David Trainor- moved to gerrit 2016/02/17 21:09:47 Done.
31 private BlimpView mBlimpView; 30 private BlimpView mBlimpView;
32 private Toolbar mToolbar; 31 private Toolbar mToolbar;
33 private BlimpClientSession mBlimpClientSession; 32 private BlimpClientSession mBlimpClientSession;
34 private TabControlFeature mTabControlFeature; 33 private TabControlFeature mTabControlFeature;
35 34
36 @Override 35 @Override
37 protected void onCreate(Bundle savedInstanceState) { 36 protected void onCreate(Bundle savedInstanceState) {
38 super.onCreate(savedInstanceState); 37 super.onCreate(savedInstanceState);
39 38
40 mTokenSource = new RetryingTokenSource(new TokenSourceImpl(this)); 39 mTokenSource = new RetryingTokenSource(new TokenSourceImpl(this));
Kevin M 2016/02/12 19:45:26 Brief comment for this block to educate the non-Cl
David Trainor- moved to gerrit 2016/02/17 21:09:47 Done.
41 mTokenSource.setCallback(this); 40 mTokenSource.setCallback(this);
42 mTokenSource.getToken(); 41 mTokenSource.getToken();
43 42
44 try { 43 try {
45 BlimpLibraryLoader.startAsync(this, this); 44 BlimpLibraryLoader.startAsync(this, this);
46 } catch (ProcessInitException e) { 45 } catch (ProcessInitException e) {
47 Log.e(TAG, "Native startup exception", e); 46 Log.e(TAG, "Native startup exception", e);
48 System.exit(-1); 47 System.exit(-1);
49 return; 48 return;
50 } 49 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 @Override 107 @Override
109 public void onStartupComplete(boolean success) { 108 public void onStartupComplete(boolean success) {
110 if (!success) { 109 if (!success) {
111 Log.e(TAG, "Native startup failed"); 110 Log.e(TAG, "Native startup failed");
112 finish(); 111 finish();
113 return; 112 return;
114 } 113 }
115 114
116 setContentView(R.layout.blimp_main); 115 setContentView(R.layout.blimp_main);
117 116
118 mBlimpClientSession = new BlimpClientSession(); 117 mBlimpClientSession = new BlimpClientSession(this);
119 mBlimpClientSession.connect();
120 118
121 mBlimpView = (BlimpView) findViewById(R.id.renderer); 119 mBlimpView = (BlimpView) findViewById(R.id.renderer);
122 mBlimpView.initializeRenderer(mBlimpClientSession); 120 mBlimpView.initializeRenderer(mBlimpClientSession);
123 121
124 mToolbar = (Toolbar) findViewById(R.id.toolbar); 122 mToolbar = (Toolbar) findViewById(R.id.toolbar);
125 mToolbar.initialize(mBlimpClientSession); 123 mToolbar.initialize(mBlimpClientSession);
126 124
127 mTabControlFeature = new TabControlFeature(mBlimpClientSession, mBlimpVi ew); 125 mTabControlFeature = new TabControlFeature(mBlimpClientSession, mBlimpVi ew);
128 mToolbar.loadUrl("http://www.google.com/"); 126 mToolbar.loadUrl("http://www.google.com/");
129 } 127 }
130 128
131 // TokenSource.Callback implementation. 129 // TokenSource.Callback implementation.
132 @Override 130 @Override
133 public void onTokenReceived(String token) { 131 public void onTokenReceived(String token) {
134 // TODO(dtrainor): Do something with the token and the assigner! 132 if (mBlimpClientSession != null) mBlimpClientSession.connect(token);
135 Toast.makeText(this, R.string.signin_get_token_succeeded, Toast.LENGTH_S HORT).show();
136 } 133 }
137 134
138 @Override 135 @Override
139 public void onTokenUnavailable(boolean isTransient) { 136 public void onTokenUnavailable(boolean isTransient) {
140 // Ignore isTransient here because we're relying on the auto-retry Token Source. 137 // Ignore isTransient here because we're relying on the auto-retry Token Source.
141 // TODO(dtrainor): Show a better error dialog/message. 138 // TODO(dtrainor): Show a better error dialog/message.
142 Toast.makeText(this, R.string.signin_get_token_failed, Toast.LENGTH_LONG ).show(); 139 Toast.makeText(this, R.string.signin_get_token_failed, Toast.LENGTH_LONG ).show();
143 finish();
144 } 140 }
145 141
146 @Override 142 @Override
147 public void onNeedsAccountToBeSelected(Intent suggestedIntent) { 143 public void onNeedsAccountToBeSelected(Intent suggestedIntent) {
148 startActivityForResult(suggestedIntent, ACCOUNT_CHOOSER_INTENT_REQUEST_C ODE); 144 startActivityForResult(suggestedIntent, ACCOUNT_CHOOSER_INTENT_REQUEST_C ODE);
149 } 145 }
146
147 // BlimpClientSession.Callback implementation.
148 @Override
149 public void onAssignmentReceived(int result, int suggestedMessageResourceId) {
150 if (result != AssignmentSourceResult.OKAY) {
151 Toast.makeText(this, suggestedMessageResourceId, Toast.LENGTH_LONG). show();
152 }
153 }
150 } 154 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698