OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 /** | 5 /** |
6 * @fileoverview | 6 * @fileoverview |
7 * 'android-apps-page' is the settings page for enabling android apps. | 7 * 'android-apps-page' is the settings page for enabling android apps. |
8 */ | 8 */ |
9 | 9 |
10 Polymer({ | 10 Polymer({ |
(...skipping 27 matching lines...) Expand all Loading... |
38 /** @private {?settings.AndroidAppsBrowserProxy} */ | 38 /** @private {?settings.AndroidAppsBrowserProxy} */ |
39 browserProxy_: null, | 39 browserProxy_: null, |
40 | 40 |
41 /** @override */ | 41 /** @override */ |
42 created: function() { | 42 created: function() { |
43 this.browserProxy_ = settings.AndroidAppsBrowserProxyImpl.getInstance(); | 43 this.browserProxy_ = settings.AndroidAppsBrowserProxyImpl.getInstance(); |
44 }, | 44 }, |
45 | 45 |
46 /** @override */ | 46 /** @override */ |
47 ready: function() { | 47 ready: function() { |
48 cr.addWebUIListener( | 48 this.listener_ = cr.addWebUIListener( |
49 'android-apps-info-update', this.androidAppsInfoUpdate_.bind(this)); | 49 'android-apps-info-update', this.androidAppsInfoUpdate_.bind(this)); |
50 this.browserProxy_.requestAndroidAppsInfo(); | 50 this.browserProxy_.requestAndroidAppsInfo(); |
51 }, | 51 }, |
| 52 |
52 /** | 53 /** |
53 * @param {AndroidAppsInfo} info | 54 * @param {AndroidAppsInfo} info |
54 * @private | 55 * @private |
55 */ | 56 */ |
56 androidAppsInfoUpdate_: function(info) { | 57 androidAppsInfoUpdate_: function(info) { |
57 this.androidAppsInfo_ = info; | 58 this.androidAppsInfo_ = info; |
| 59 if (!this.androidAppsInfo_.playStoreEnabled && |
| 60 settings.getCurrentRoute() == settings.Route.ANDROID_APPS_DETAILS) { |
| 61 settings.navigateToPreviousRoute(); |
| 62 } |
58 }, | 63 }, |
59 | 64 |
60 /** | 65 /** |
| 66 * Discards current element from handling android-apps-info-update events. |
| 67 */ |
| 68 discardForTest: function() { |
| 69 if (this.listener_) { |
| 70 cr.removeWebUIListener(this.listener_); |
| 71 this.listener_ = null; |
| 72 } |
| 73 }, |
| 74 |
| 75 /** |
61 * @param {Event} event | 76 * @param {Event} event |
62 * @private | 77 * @private |
63 */ | 78 */ |
64 onEnableTap_: function(event) { | 79 onEnableTap_: function(event) { |
65 this.setPrefValue('arc.enabled', true); | 80 this.setPrefValue('arc.enabled', true); |
66 event.stopPropagation(); | 81 event.stopPropagation(); |
67 }, | 82 }, |
68 | 83 |
69 /** @private */ | 84 /** @private */ |
70 onSubpageTap_: function() { | 85 onSubpageTap_: function() { |
71 if (this.androidAppsInfo_.appReady) | 86 if (this.androidAppsInfo_.playStoreEnabled) |
72 settings.navigateTo(settings.Route.ANDROID_APPS_DETAILS); | 87 settings.navigateTo(settings.Route.ANDROID_APPS_DETAILS); |
73 }, | 88 }, |
74 }); | 89 }); |
OLD | NEW |