diff --git a/res/app/settings/adb-keys/adb-keys-controller.js b/res/app/settings/adb-keys/adb-keys-controller.js index 1f73229b..c37f3d1e 100644 --- a/res/app/settings/adb-keys/adb-keys-controller.js +++ b/res/app/settings/adb-keys/adb-keys-controller.js @@ -1,13 +1,16 @@ -module.exports = function AdbKeysCtrl($scope, BrowserInfo) { +module.exports = function AdbKeysCtrl($scope, AdbKeysService) { + + $scope.title = '' + $scope.key = '' $scope.adbKeys = [ { title: 'PC1264', - key: 'bb:86:60:39:d7:a2:e3:09:93:09:cc:f6:e8:37:99:3f' + fingerprint: 'bb:86:60:39:d7:a2:e3:09:93:09:cc:f6:e8:37:99:3f' }, { title: 'Mobile mac', - key: '97:ca:ae:fa:09:0b:c4:fe:22:94:7d:b2:be:77:66:a1' + fingerprint: '97:ca:ae:fa:09:0b:c4:fe:22:94:7d:b2:be:77:66:a1' } ] @@ -19,39 +22,39 @@ module.exports = function AdbKeysCtrl($scope, BrowserInfo) { $scope.addKey = function () { if ($scope.title && $scope.key) { + var title = $scope.title + var fingerprint = '97:ca:ae:fa:09:0b:c4:fe:22:94:7d:b2:be:77:66:a1' + $scope.adbKeys.push({ - title: $scope.title, - key: $scope.key + title: title, + fingerprint: fingerprint }) $scope.closeAddKey() } } - var clientOS = 'PC' - if (BrowserInfo.ua.match(/Mac/i)) { - clientOS = 'Mac' - } - var addKeyDefaults = { - title: 'My ' + clientOS, - key: '' - } - - $scope.title = addKeyDefaults.title - $scope.key = addKeyDefaults.key $scope.closeAddKey = function () { - $scope.title = addKeyDefaults.title - $scope.key = addKeyDefaults.key + $scope.title = '' + $scope.key = '' $scope.adbkeyform.$setPristine() $scope.showAdd = false } $scope.toggleAddKey = function () { $scope.showAdd = !$scope.showAdd - $scope.focusAddField = true + $scope.focusAddKey = true } + $scope.$watch('key', function (newValue) { + if (newValue && !$scope.title) { + $scope.title = AdbKeysService.hostNameFromKey(newValue) + $scope.focusAddTitle = true + } + }) + + } diff --git a/res/app/settings/adb-keys/adb-keys-service.js b/res/app/settings/adb-keys/adb-keys-service.js new file mode 100644 index 00000000..045009d3 --- /dev/null +++ b/res/app/settings/adb-keys/adb-keys-service.js @@ -0,0 +1,12 @@ +module.exports = function AdbKeysServiceFactory() { + var service = {} + + service.hostNameFromKey = function (key) { + if (key.match(/.+= (.+)/)) { + return key.replace(/.+= (.+)/g, '$1').replace(/(\.local)?/g, '') + } + return '' + } + + return service +} diff --git a/res/app/settings/adb-keys/adb-keys.css b/res/app/settings/adb-keys/adb-keys.css index fcff57a1..0b4e456d 100644 --- a/res/app/settings/adb-keys/adb-keys.css +++ b/res/app/settings/adb-keys/adb-keys.css @@ -18,7 +18,7 @@ margin: 2px 0 6px; } -.stf-adb-keys .key-list-key { +.stf-adb-keys .key-list-fingerprint { font-family: Monaco, Menlo, Consolas, "Courier New", monospace; font-size: 10px; margin-bottom: 2px; diff --git a/res/app/settings/adb-keys/adb-keys.jade b/res/app/settings/adb-keys/adb-keys.jade index 453e9098..6a34f3bd 100644 --- a/res/app/settings/adb-keys/adb-keys.jade +++ b/res/app/settings/adb-keys/adb-keys.jade @@ -24,19 +24,29 @@ .panel-body form.form-horizontal(name='adbkeyform', ng-submit='addKey(key)') + .alert.alert-info.selectable Run this command to copy the key to your clipboard + a(ng-href='/#!/docs/adb-keys').pull-right + i.fa.fa-question-circle(tooltip='{{"More about ADB Keys" | translate}}', tooltip-placement='left') + textarea(readonly, rows='1', text-focus-select, + ).form-control.remote-debug-textarea pbcopy < ~/.android/adbkey.pub + //pbcopy < ~/.android/adbkey.pub + .form-group - label.control-label.col-md-1(translate) Title - .col-md-11 - input(type='text', ng-model='title', ng-required='true', - text-focus-select).form-control - .form-group - label.control-label.col-md-1(translate) Key + label.control-label.col-md-1 + i.fa.fa-key.fa-fw + span(translate) Key .col-md-11 textarea(rows='4', ng-model='key', ng-required='true', autocorrect='off', autocapitalize='off', spellcheck='false', - focus-element='focusAddField').form-control + focus-element='focusAddKey').form-control - .alert.alert-warning.selectable This key can be obtained by doing: ... + .form-group + label.control-label.col-md-1 + i.fa.fa-laptop.fa-fw + span(translate) Device + .col-md-11 + input(type='text', ng-model='title', ng-required='true', + text-focus-select, focus-element='focusAddTitle').form-control br @@ -50,7 +60,7 @@ i.fa.fa-key.fa-2x.fa-fw.key-list-icon .key-list-details.selectable .key-list-title(ng-bind='key.title') - .key-list-key(ng-bind='key.key') + .key-list-fingerprint(ng-bind='key.fingerprint') button.btn.btn-xs.btn-danger-outline.pull-right.key-list-remove(ng-click='removeKey(key)') i.fa.fa-trash-o diff --git a/res/app/settings/adb-keys/index.js b/res/app/settings/adb-keys/index.js index 8a90b8b3..458487fc 100644 --- a/res/app/settings/adb-keys/index.js +++ b/res/app/settings/adb-keys/index.js @@ -6,8 +6,9 @@ module.exports = angular.module('stf.settings.adb-keys', [ ]) .run(["$templateCache", function ($templateCache) { $templateCache.put( - 'settings/adb-keys/adb-keys.jade' - , require('./adb-keys.jade') + 'settings/adb-keys/adb-keys.jade', require('./adb-keys.jade') ) }]) .controller('AdbKeysCtrl', require('./adb-keys-controller')) + .factory('AdbKeysService', require('./adb-keys-service')) +