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

Side by Side Diff: remoting/android/java/src/org/chromium/chromoting/Chromoting.java

Issue 1687873002: Revert of Refactor Chromoting JNI code to use jni/Client (Java changes only). (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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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.chromoting; 5 package org.chromium.chromoting;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.app.AlertDialog; 8 import android.app.AlertDialog;
9 import android.app.ProgressDialog; 9 import android.app.ProgressDialog;
10 import android.content.DialogInterface; 10 import android.content.DialogInterface;
(...skipping 18 matching lines...) Expand all
29 import android.widget.LinearLayout; 29 import android.widget.LinearLayout;
30 import android.widget.ListView; 30 import android.widget.ListView;
31 import android.widget.Toast; 31 import android.widget.Toast;
32 32
33 import org.chromium.base.ApiCompatibilityUtils; 33 import org.chromium.base.ApiCompatibilityUtils;
34 import org.chromium.base.Log; 34 import org.chromium.base.Log;
35 import org.chromium.chromoting.accountswitcher.AccountSwitcher; 35 import org.chromium.chromoting.accountswitcher.AccountSwitcher;
36 import org.chromium.chromoting.accountswitcher.AccountSwitcherFactory; 36 import org.chromium.chromoting.accountswitcher.AccountSwitcherFactory;
37 import org.chromium.chromoting.help.HelpContext; 37 import org.chromium.chromoting.help.HelpContext;
38 import org.chromium.chromoting.help.HelpSingleton; 38 import org.chromium.chromoting.help.HelpSingleton;
39 import org.chromium.chromoting.jni.Client;
40 import org.chromium.chromoting.jni.ConnectionListener; 39 import org.chromium.chromoting.jni.ConnectionListener;
41 import org.chromium.chromoting.jni.JniInterface; 40 import org.chromium.chromoting.jni.JniInterface;
42 41
43 import java.util.ArrayList; 42 import java.util.ArrayList;
44 import java.util.Arrays; 43 import java.util.Arrays;
45 44
46 /** 45 /**
47 * The user interface for querying and displaying a user's host list from the di rectory server. It 46 * The user interface for querying and displaying a user's host list from the di rectory server. It
48 * also requests and renews authentication tokens using the system account manag er. 47 * also requests and renews authentication tokens using the system account manag er.
49 */ 48 */
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 * while a token is being fetched. 110 * while a token is being fetched.
112 */ 111 */
113 private boolean mWaitingForAuthToken = false; 112 private boolean mWaitingForAuthToken = false;
114 113
115 private DrawerLayout mDrawerLayout; 114 private DrawerLayout mDrawerLayout;
116 115
117 private ActionBarDrawerToggle mDrawerToggle; 116 private ActionBarDrawerToggle mDrawerToggle;
118 117
119 private AccountSwitcher mAccountSwitcher; 118 private AccountSwitcher mAccountSwitcher;
120 119
121 /** The currently-connected Client, if any. */
122 private Client mClient;
123
124 /** Shows a warning explaining that a Google account is required, then close s the activity. */ 120 /** Shows a warning explaining that a Google account is required, then close s the activity. */
125 private void showNoAccountsDialog() { 121 private void showNoAccountsDialog() {
126 AlertDialog.Builder builder = new AlertDialog.Builder(this); 122 AlertDialog.Builder builder = new AlertDialog.Builder(this);
127 builder.setMessage(R.string.noaccounts_message); 123 builder.setMessage(R.string.noaccounts_message);
128 builder.setPositiveButton(R.string.noaccounts_add_account, 124 builder.setPositiveButton(R.string.noaccounts_add_account,
129 new DialogInterface.OnClickListener() { 125 new DialogInterface.OnClickListener() {
130 @SuppressLint("InlinedApi") 126 @SuppressLint("InlinedApi")
131 @Override 127 @Override
132 public void onClick(DialogInterface dialog, int id) { 128 public void onClick(DialogInterface dialog, int id) {
133 Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT); 129 Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT);
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 preferences.putString(prefName, recents[i]); 342 preferences.putString(prefName, recents[i]);
347 } 343 }
348 344
349 preferences.apply(); 345 preferences.apply();
350 } 346 }
351 347
352 /** Called when the activity is finally finished. */ 348 /** Called when the activity is finally finished. */
353 @Override 349 @Override
354 public void onDestroy() { 350 public void onDestroy() {
355 super.onDestroy(); 351 super.onDestroy();
352 JniInterface.disconnectFromHost();
356 mAccountSwitcher.destroy(); 353 mAccountSwitcher.destroy();
357
358 // TODO(lambroslambrou): Determine whether we really need to tear down t he connection here,
359 // so we can remove this code.
360 if (mClient != null) {
361 mClient.destroy();
362 mClient = null;
363 }
364 } 354 }
365 355
366 /** Called when a child Activity exits and sends a result back to this Activ ity. */ 356 /** Called when a child Activity exits and sends a result back to this Activ ity. */
367 @Override 357 @Override
368 public void onActivityResult(int requestCode, int resultCode, Intent data) { 358 public void onActivityResult(int requestCode, int resultCode, Intent data) {
369 mAccountSwitcher.onActivityResult(requestCode, resultCode, data); 359 mAccountSwitcher.onActivityResult(requestCode, resultCode, data);
370 360
371 if (requestCode == OAuthTokenFetcher.REQUEST_CODE_RECOVER_FROM_OAUTH_ERR OR) { 361 if (requestCode == OAuthTokenFetcher.REQUEST_CODE_RECOVER_FROM_OAUTH_ERR OR) {
372 if (resultCode == RESULT_OK) { 362 if (resultCode == RESULT_OK) {
373 // User gave OAuth permission to this app (or recovered from any OAuth failure), 363 // User gave OAuth permission to this app (or recovered from any OAuth failure),
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 HostInfo host = mHosts[index]; 437 HostInfo host = mHosts[index];
448 if (host.isOnline) { 438 if (host.isOnline) {
449 connectToHost(host); 439 connectToHost(host);
450 } else { 440 } else {
451 String tooltip = host.getHostOfflineReasonText(this); 441 String tooltip = host.getHostOfflineReasonText(this);
452 Toast.makeText(this, tooltip, Toast.LENGTH_SHORT).show(); 442 Toast.makeText(this, tooltip, Toast.LENGTH_SHORT).show();
453 } 443 }
454 } 444 }
455 445
456 private void connectToHost(HostInfo host) { 446 private void connectToHost(HostInfo host) {
457 if (mClient != null) {
458 mClient.destroy();
459 }
460
461 mClient = new Client();
462 mProgressIndicator = ProgressDialog.show( 447 mProgressIndicator = ProgressDialog.show(
463 this, 448 this,
464 host.name, 449 host.name,
465 getString(R.string.footer_connecting), 450 getString(R.string.footer_connecting),
466 true, 451 true,
467 true, 452 true,
468 new DialogInterface.OnCancelListener() { 453 new DialogInterface.OnCancelListener() {
469 @Override 454 @Override
470 public void onCancel(DialogInterface dialog) { 455 public void onCancel(DialogInterface dialog) {
471 if (mClient != null) { 456 JniInterface.disconnectFromHost();
472 mClient.destroy();
473 mClient = null;
474 }
475 } 457 }
476 }); 458 });
477 459 SessionConnector connector = new SessionConnector(this, this, mHostListL oader);
478 SessionConnector connector = new SessionConnector(mClient, this, this, m HostListLoader); 460 mAuthenticator = new SessionAuthenticator(this, host);
479 mAuthenticator = new SessionAuthenticator(this, mClient, host);
480 connector.connectToHost(mAccount, mToken, host, mAuthenticator, 461 connector.connectToHost(mAccount, mToken, host, mAuthenticator,
481 getPreferences(MODE_PRIVATE).getString(PREFERENCE_EXPERIMENTAL_F LAGS, "")); 462 getPreferences(MODE_PRIVATE).getString(PREFERENCE_EXPERIMENTAL_F LAGS, ""));
482 } 463 }
483 464
484 private void refreshHostList() { 465 private void refreshHostList() {
485 if (mWaitingForAuthToken) { 466 if (mWaitingForAuthToken) {
486 return; 467 return;
487 } 468 }
488 469
489 mTriedNewAuthToken = false; 470 mTriedNewAuthToken = false;
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 // Unreachable, but required by Google Java style and findbugs. 621 // Unreachable, but required by Google Java style and findbugs.
641 assert false : "Unreached"; 622 assert false : "Unreached";
642 } 623 }
643 624
644 if (dismissProgress && mProgressIndicator != null) { 625 if (dismissProgress && mProgressIndicator != null) {
645 mProgressIndicator.dismiss(); 626 mProgressIndicator.dismiss();
646 mProgressIndicator = null; 627 mProgressIndicator = null;
647 } 628 }
648 } 629 }
649 } 630 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698