{"action":"created","comment":{"url":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/comments/29031406","id":29031406,"diff_hunk":"@@ -0,0 +1,472 @@\n+define(function(require) {\n+  'use strict';\n+\n+  var CallSettingsTaskScheduler =\n+    require('panels/call/call_settings_task_scheduler');\n+  var CallConstant = require('panels/call/call_constant');\n+  var SettingsHelper = require('shared/settings_helper');\n+  var SettingsPanel = require('modules/settings_panel');\n+  var SettingsCache = require('modules/settings_cache');\n+  var SettingsService = require('modules/settings_service');\n+  var DsdsSettings = require('dsds_settings');\n+  var DialogService = require('modules/dialog_service');\n+\n+  return function ctor_call_panel() {\n+    return SettingsPanel({\n+      onInit: function(panel, options) {\n+        this._cardIndex = options.cardIndex || 0;\n+        this._conns = window.navigator.mozMobileConnections;\n+        this._conn = this._conns[this._cardIndex];\n+\n+        var $ = function(selector) {\n+          return panel.querySelector(selector);\n+        };\n+\n+        this._elements = {\n+          panel: panel,\n+          header: $('gaia-header'),\n+          rilCallerId: $('#ril-callerId'),\n+          fdnDesc: $('#fdnSettings-desc'),\n+          alertPanel: $('#call .cw-alert'),\n+          alertPanelSetButton: $('#call .cw-alert .cw-alert-set'),\n+          alertPanelConfirmInput:\n+            $('#call .cw-alert .cw-alert-checkbox-label input'),\n+          alertPanelCancelButton: $('#call .cw-alert .cw-alert-cancel'),\n+          alertLabel: $('#menuItem-callWaiting .alert-label'),\n+          fdnItem: $('#menuItem-callFdn'),\n+          callWaitingItem: $('#menuItem-callWaiting'),\n+          callWaitingInput: $('#menuItem-callWaiting .checkbox-label input'),\n+          callForwardingItem: $('#menuItem-callForwarding'),\n+          callForwardingAnchor: $('#menuItem-callForwarding a'),\n+          callBarringItem: $('#menuItem-callBarring'),\n+          callerIdItem: $('#menuItem-callerId'),\n+          voiceMailItem: $('.menuItem-voicemail'),\n+          voiceMailDesc: $('#voiceMail-desc'),\n+          voicePrivacyItem: $('#menuItem-voicePrivacyMode'),\n+          voicePrivacyInput: $('#menuItem-voicePrivacyMode input')\n+        };\n+\n+        // Set the navigation correctly when on a multi ICC card device.\n+        if (DsdsSettings.getNumberOfIccSlots() > 1) {\n+          this._elements.header.setAttribute('data-href', '#call-iccs');\n+        }\n+\n+        this._bindPanelReadyEvent();\n+        this._bindVisibilityChangeEvent();\n+        this._bindCallForwardingMenuItemClickEvent();\n+\n+        this._addVoiceTypeChangeListeners();\n+\n+        this._initCallerId();\n+        this._initCallWaiting();\n+        this._initVoiceMailSettings();\n+        this._initVoicePrivacyModeChangeEvent();\n+        this._initVoicemailClickEvent();\n+        this._initCallWaitingAlertLabelClickEvent();\n+        this._initCallWaitingAlertCancelButtonClickEvent();\n+\n+        CallSettingsTaskScheduler.observe('isLocked', (isLocked) => {\n+          this._enableTapOn('callerIdItem', !isLocked);\n+          this._enableTapOn('callWaitingItem', !isLocked);\n+        });\n+\n+        this._refreshCallSettingItems();\n+      },\n+\n+      onBeforeShow: function(panel, options) {\n+        if (options.cardIndex) {\n+          this._cardIndex = options.cardIndex;\n+          this._conn = this._conns[options.cardIndex];\n+        }\n+\n+        this._initFDNItem();\n+        this._updateNetworkTypeLimitedItemsVisibility(\n+          this._conn.voice && this._conn.voice.type);\n+      },\n+\n+      _bindPanelReadyEvent: function() {\n+        window.addEventListener('panelready', (evt) => {\n+          switch (evt.detail.current) {\n+            case '#call':\n+              // No need to refresh the call settings items if navigated from\n+              // panels not manipulating call settings.\n+              if (evt.detail.previous === '#call-cfSettings' ||\n+                evt.detail.previous === '#call-cbSettings') {\n+                  return;\n+              }\n+              this._updateNetworkTypeLimitedItemsVisibility(\n+                this._conn.voice && this._conn.voice.type);\n+              this._refreshCallSettingItems();\n+              break;\n+          }\n+        });\n+      },\n+\n+      _bindVisibilityChangeEvent: function() {","path":"apps/settings/js/panels/call/panel.js","position":105,"original_position":105,"commit_id":"e5e52881601a3b8919396ec7ec11cecdaea76426","original_commit_id":"e5e52881601a3b8919396ec7ec11cecdaea76426","user":{"login":"crh0716","id":2899280,"avatar_url":"https://avatars.githubusercontent.com/u/2899280?v=3","gravatar_id":"","url":"https://api.github.com/users/crh0716","html_url":"https://github.com/crh0716","followers_url":"https://api.github.com/users/crh0716/followers","following_url":"https://api.github.com/users/crh0716/following{/other_user}","gists_url":"https://api.github.com/users/crh0716/gists{/gist_id}","starred_url":"https://api.github.com/users/crh0716/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crh0716/subscriptions","organizations_url":"https://api.github.com/users/crh0716/orgs","repos_url":"https://api.github.com/users/crh0716/repos","events_url":"https://api.github.com/users/crh0716/events{/privacy}","received_events_url":"https://api.github.com/users/crh0716/received_events","type":"User","site_admin":false},"body":"This could be covered by `onBeforeShow`.","created_at":"2015-04-24T08:12:36Z","updated_at":"2015-04-24T08:12:36Z","html_url":"https://github.com/mozilla-b2g/gaia/pull/28974#discussion_r29031406","pull_request_url":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/28974","_links":{"self":{"href":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/comments/29031406"},"html":{"href":"https://github.com/mozilla-b2g/gaia/pull/28974#discussion_r29031406"},"pull_request":{"href":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/28974"}}},"pull_request":{"url":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/28974","id":31505823,"html_url":"https://github.com/mozilla-b2g/gaia/pull/28974","diff_url":"https://github.com/mozilla-b2g/gaia/pull/28974.diff","patch_url":"https://github.com/mozilla-b2g/gaia/pull/28974.patch","issue_url":"https://api.github.com/repos/mozilla-b2g/gaia/issues/28974","number":28974,"state":"open","locked":false,"title":"Bug 1145055 - [Settings] Refactor Call Settings r=Arthur","user":{"login":"EragonJ","id":68322,"avatar_url":"https://avatars.githubusercontent.com/u/68322?v=3","gravatar_id":"","url":"https://api.github.com/users/EragonJ","html_url":"https://github.com/EragonJ","followers_url":"https://api.github.com/users/EragonJ/followers","following_url":"https://api.github.com/users/EragonJ/following{/other_user}","gists_url":"https://api.github.com/users/EragonJ/gists{/gist_id}","starred_url":"https://api.github.com/users/EragonJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EragonJ/subscriptions","organizations_url":"https://api.github.com/users/EragonJ/orgs","repos_url":"https://api.github.com/users/EragonJ/repos","events_url":"https://api.github.com/users/EragonJ/events{/privacy}","received_events_url":"https://api.github.com/users/EragonJ/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-03-19T09:15:41Z","updated_at":"2015-04-24T08:12:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"384155873df503971c7595ca032c8dedc37698fb","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/28974/commits","review_comments_url":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/28974/comments","review_comment_url":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mozilla-b2g/gaia/issues/28974/comments","statuses_url":"https://api.github.com/repos/mozilla-b2g/gaia/statuses/e5e52881601a3b8919396ec7ec11cecdaea76426","head":{"label":"EragonJ:bug-1145055","ref":"bug-1145055","sha":"e5e52881601a3b8919396ec7ec11cecdaea76426","user":{"login":"EragonJ","id":68322,"avatar_url":"https://avatars.githubusercontent.com/u/68322?v=3","gravatar_id":"","url":"https://api.github.com/users/EragonJ","html_url":"https://github.com/EragonJ","followers_url":"https://api.github.com/users/EragonJ/followers","following_url":"https://api.github.com/users/EragonJ/following{/other_user}","gists_url":"https://api.github.com/users/EragonJ/gists{/gist_id}","starred_url":"https://api.github.com/users/EragonJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EragonJ/subscriptions","organizations_url":"https://api.github.com/users/EragonJ/orgs","repos_url":"https://api.github.com/users/EragonJ/repos","events_url":"https://api.github.com/users/EragonJ/events{/privacy}","received_events_url":"https://api.github.com/users/EragonJ/received_events","type":"User","site_admin":false},"repo":{"id":12532996,"name":"gaia","full_name":"EragonJ/gaia","owner":{"login":"EragonJ","id":68322,"avatar_url":"https://avatars.githubusercontent.com/u/68322?v=3","gravatar_id":"","url":"https://api.github.com/users/EragonJ","html_url":"https://github.com/EragonJ","followers_url":"https://api.github.com/users/EragonJ/followers","following_url":"https://api.github.com/users/EragonJ/following{/other_user}","gists_url":"https://api.github.com/users/EragonJ/gists{/gist_id}","starred_url":"https://api.github.com/users/EragonJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EragonJ/subscriptions","organizations_url":"https://api.github.com/users/EragonJ/orgs","repos_url":"https://api.github.com/users/EragonJ/repos","events_url":"https://api.github.com/users/EragonJ/events{/privacy}","received_events_url":"https://api.github.com/users/EragonJ/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/EragonJ/gaia","description":"Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project. NOTE: For details of what branches are used for what releases, see https://wiki.mozilla.org/Release_Management/B2G_Landing","fork":true,"url":"https://api.github.com/repos/EragonJ/gaia","forks_url":"https://api.github.com/repos/EragonJ/gaia/forks","keys_url":"https://api.github.com/repos/EragonJ/gaia/keys{/key_id}","collaborators_url":"https://api.github.com/repos/EragonJ/gaia/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/EragonJ/gaia/teams","hooks_url":"https://api.github.com/repos/EragonJ/gaia/hooks","issue_events_url":"https://api.github.com/repos/EragonJ/gaia/issues/events{/number}","events_url":"https://api.github.com/repos/EragonJ/gaia/events","assignees_url":"https://api.github.com/repos/EragonJ/gaia/assignees{/user}","branches_url":"https://api.github.com/repos/EragonJ/gaia/branches{/branch}","tags_url":"https://api.github.com/repos/EragonJ/gaia/tags","blobs_url":"https://api.github.com/repos/EragonJ/gaia/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/EragonJ/gaia/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/EragonJ/gaia/git/refs{/sha}","trees_url":"https://api.github.com/repos/EragonJ/gaia/git/trees{/sha}","statuses_url":"https://api.github.com/repos/EragonJ/gaia/statuses/{sha}","languages_url":"https://api.github.com/repos/EragonJ/gaia/languages","stargazers_url":"https://api.github.com/repos/EragonJ/gaia/stargazers","contributors_url":"https://api.github.com/repos/EragonJ/gaia/contributors","subscribers_url":"https://api.github.com/repos/EragonJ/gaia/subscribers","subscription_url":"https://api.github.com/repos/EragonJ/gaia/subscription","commits_url":"https://api.github.com/repos/EragonJ/gaia/commits{/sha}","git_commits_url":"https://api.github.com/repos/EragonJ/gaia/git/commits{/sha}","comments_url":"https://api.github.com/repos/EragonJ/gaia/comments{/number}","issue_comment_url":"https://api.github.com/repos/EragonJ/gaia/issues/comments{/number}","contents_url":"https://api.github.com/repos/EragonJ/gaia/contents/{+path}","compare_url":"https://api.github.com/repos/EragonJ/gaia/compare/{base}...{head}","merges_url":"https://api.github.com/repos/EragonJ/gaia/merges","archive_url":"https://api.github.com/repos/EragonJ/gaia/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/EragonJ/gaia/downloads","issues_url":"https://api.github.com/repos/EragonJ/gaia/issues{/number}","pulls_url":"https://api.github.com/repos/EragonJ/gaia/pulls{/number}","milestones_url":"https://api.github.com/repos/EragonJ/gaia/milestones{/number}","notifications_url":"https://api.github.com/repos/EragonJ/gaia/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/EragonJ/gaia/labels{/name}","releases_url":"https://api.github.com/repos/EragonJ/gaia/releases{/id}","created_at":"2013-09-02T05:56:31Z","updated_at":"2014-08-04T09:27:27Z","pushed_at":"2015-04-24T04:05:43Z","git_url":"git://github.com/EragonJ/gaia.git","ssh_url":"git@github.com:EragonJ/gaia.git","clone_url":"https://github.com/EragonJ/gaia.git","svn_url":"https://github.com/EragonJ/gaia","homepage":"https://wiki.mozilla.org/B2G","size":902989,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"mozilla-b2g:master","ref":"master","sha":"ec0bd01c224544ef8fa134122dd36437b10464d7","user":{"login":"mozilla-b2g","id":1261292,"avatar_url":"https://avatars.githubusercontent.com/u/1261292?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla-b2g","html_url":"https://github.com/mozilla-b2g","followers_url":"https://api.github.com/users/mozilla-b2g/followers","following_url":"https://api.github.com/users/mozilla-b2g/following{/other_user}","gists_url":"https://api.github.com/users/mozilla-b2g/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla-b2g/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla-b2g/subscriptions","organizations_url":"https://api.github.com/users/mozilla-b2g/orgs","repos_url":"https://api.github.com/users/mozilla-b2g/repos","events_url":"https://api.github.com/users/mozilla-b2g/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla-b2g/received_events","type":"Organization","site_admin":false},"repo":{"id":2317369,"name":"gaia","full_name":"mozilla-b2g/gaia","owner":{"login":"mozilla-b2g","id":1261292,"avatar_url":"https://avatars.githubusercontent.com/u/1261292?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla-b2g","html_url":"https://github.com/mozilla-b2g","followers_url":"https://api.github.com/users/mozilla-b2g/followers","following_url":"https://api.github.com/users/mozilla-b2g/following{/other_user}","gists_url":"https://api.github.com/users/mozilla-b2g/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla-b2g/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla-b2g/subscriptions","organizations_url":"https://api.github.com/users/mozilla-b2g/orgs","repos_url":"https://api.github.com/users/mozilla-b2g/repos","events_url":"https://api.github.com/users/mozilla-b2g/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla-b2g/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mozilla-b2g/gaia","description":"Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project. NOTE: For details of what branches are used for what releases, see","fork":false,"url":"https://api.github.com/repos/mozilla-b2g/gaia","forks_url":"https://api.github.com/repos/mozilla-b2g/gaia/forks","keys_url":"https://api.github.com/repos/mozilla-b2g/gaia/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mozilla-b2g/gaia/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mozilla-b2g/gaia/teams","hooks_url":"https://api.github.com/repos/mozilla-b2g/gaia/hooks","issue_events_url":"https://api.github.com/repos/mozilla-b2g/gaia/issues/events{/number}","events_url":"https://api.github.com/repos/mozilla-b2g/gaia/events","assignees_url":"https://api.github.com/repos/mozilla-b2g/gaia/assignees{/user}","branches_url":"https://api.github.com/repos/mozilla-b2g/gaia/branches{/branch}","tags_url":"https://api.github.com/repos/mozilla-b2g/gaia/tags","blobs_url":"https://api.github.com/repos/mozilla-b2g/gaia/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mozilla-b2g/gaia/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mozilla-b2g/gaia/git/refs{/sha}","trees_url":"https://api.github.com/repos/mozilla-b2g/gaia/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mozilla-b2g/gaia/statuses/{sha}","languages_url":"https://api.github.com/repos/mozilla-b2g/gaia/languages","stargazers_url":"https://api.github.com/repos/mozilla-b2g/gaia/stargazers","contributors_url":"https://api.github.com/repos/mozilla-b2g/gaia/contributors","subscribers_url":"https://api.github.com/repos/mozilla-b2g/gaia/subscribers","subscription_url":"https://api.github.com/repos/mozilla-b2g/gaia/subscription","commits_url":"https://api.github.com/repos/mozilla-b2g/gaia/commits{/sha}","git_commits_url":"https://api.github.com/repos/mozilla-b2g/gaia/git/commits{/sha}","comments_url":"https://api.github.com/repos/mozilla-b2g/gaia/comments{/number}","issue_comment_url":"https://api.github.com/repos/mozilla-b2g/gaia/issues/comments{/number}","contents_url":"https://api.github.com/repos/mozilla-b2g/gaia/contents/{+path}","compare_url":"https://api.github.com/repos/mozilla-b2g/gaia/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mozilla-b2g/gaia/merges","archive_url":"https://api.github.com/repos/mozilla-b2g/gaia/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mozilla-b2g/gaia/downloads","issues_url":"https://api.github.com/repos/mozilla-b2g/gaia/issues{/number}","pulls_url":"https://api.github.com/repos/mozilla-b2g/gaia/pulls{/number}","milestones_url":"https://api.github.com/repos/mozilla-b2g/gaia/milestones{/number}","notifications_url":"https://api.github.com/repos/mozilla-b2g/gaia/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mozilla-b2g/gaia/labels{/name}","releases_url":"https://api.github.com/repos/mozilla-b2g/gaia/releases{/id}","created_at":"2011-09-03T01:38:46Z","updated_at":"2015-04-24T07:28:04Z","pushed_at":"2015-04-24T07:49:25Z","git_url":"git://github.com/mozilla-b2g/gaia.git","ssh_url":"git@github.com:mozilla-b2g/gaia.git","clone_url":"https://github.com/mozilla-b2g/gaia.git","svn_url":"https://github.com/mozilla-b2g/gaia","homepage":"https://wiki.mozilla.org/B2G","size":1524946,"stargazers_count":1909,"watchers_count":1909,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2286,"mirror_url":null,"open_issues_count":972,"forks":2286,"open_issues":972,"watchers":1909,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/28974"},"html":{"href":"https://github.com/mozilla-b2g/gaia/pull/28974"},"issue":{"href":"https://api.github.com/repos/mozilla-b2g/gaia/issues/28974"},"comments":{"href":"https://api.github.com/repos/mozilla-b2g/gaia/issues/28974/comments"},"review_comments":{"href":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/28974/comments"},"review_comment":{"href":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mozilla-b2g/gaia/pulls/28974/commits"},"statuses":{"href":"https://api.github.com/repos/mozilla-b2g/gaia/statuses/e5e52881601a3b8919396ec7ec11cecdaea76426"}}}}