{"action":"created","comment":{"url":"https://api.github.com/repos/ghostery/browser-android/pulls/comments/232200332","pull_request_review_id":173336275,"id":232200332,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMjIwMDMzMg==","diff_hunk":"@@ -0,0 +1,243 @@\n+package org.mozilla.gecko.controlcenter;\n+\n+import android.content.Context;\n+import android.graphics.Typeface;\n+import android.graphics.drawable.Drawable;\n+import android.support.graphics.drawable.VectorDrawableCompat;\n+import android.support.v7.widget.RecyclerView;\n+import android.text.Spannable;\n+import android.text.SpannableString;\n+import android.text.Spanned;\n+import android.text.TextUtils;\n+import android.text.style.AbsoluteSizeSpan;\n+import android.text.style.TypefaceSpan;\n+import android.util.TypedValue;\n+import android.view.LayoutInflater;\n+import android.view.View;\n+import android.view.ViewGroup;\n+import android.widget.ImageView;\n+import android.widget.SeekBar;\n+import android.widget.TextView;\n+import org.mozilla.gecko.R;\n+import org.mozilla.gecko.util.GeckoBundle;\n+import java.util.ArrayList;\n+import java.util.List;\n+\n+/**\n+ * Copyright © Cliqz 2018\n+ */\n+\n+public class DashboardAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {\n+\n+    private Context mContext;\n+    private List<DashboardItemEntity> mDashboardItems;\n+    private enum ItemType {ONE_VIEW, TWO_VIEWS}\n+    private final int MIN_MONEY_BAR_VALUE = 5;\n+    public static final int AVERAGE_MONEY_BAR_VALUE = 5;\n+\n+    public DashboardAdapter(Context context) {\n+        mContext = context;\n+        mDashboardItems = new ArrayList<>();\n+    }\n+\n+    @Override\n+    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {\n+        if (viewType == ItemType.ONE_VIEW.ordinal()) {\n+            final View view = LayoutInflater.from(mContext).inflate(R.layout.dashboard_item1,\n+                    parent, false);\n+            return new ViewHolder(view);\n+        } else {\n+            final View view = LayoutInflater.from(mContext).inflate(R.layout.dashboard_item2,\n+                    parent, false);\n+            return new ViewHolder2(view);\n+        }\n+    }\n+\n+    public void setTwoItemsRowValues(ItemStructure view, DashboardItemEntity item) {\n+        final Drawable drawable = VectorDrawableCompat.create(mContext.getResources(), item\n+                .getIconResId(), null);\n+        view.itemIconView.setImageDrawable(drawable);\n+        String measurementText = item.getMeasurementValue();\n+        final int unitStartIdx = measurementText.length();\n+        if (!item.getMeasurementUnit().isEmpty()) {\n+            measurementText = measurementText.concat(\"\\n\").concat(item.getMeasurementUnit());\n+        }\n+        Spannable spannable = new SpannableString(measurementText);\n+        spannable.setSpan(new TypefaceSpan(mContext.getString(R.string.roboto_light)), unitStartIdx, measurementText.length()\n+                , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);\n+        view.itemMeasurementView.setText(spannable);\n+        view.itemTitleView.setText(item.getTitle());\n+        view.itemContentView.setText(item.getContent());\n+    }\n+\n+    @Override\n+    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {\n+        if (holder.getItemViewType() == ItemType.TWO_VIEWS.ordinal()) {\n+            final ViewHolder2 viewHolder = (ViewHolder2) holder;\n+            setTwoItemsRowValues(viewHolder.leftItem, mDashboardItems.get(position));\n+            setTwoItemsRowValues(viewHolder.rightItem, mDashboardItems.get(position + 1));\n+        } else {\n+            final ViewHolder viewHolder = (ViewHolder) holder;\n+            // +1 because first 2 items is combined in 1 item\n+            final DashboardItemEntity curItem = mDashboardItems.get(position + 1);\n+\n+            if (curItem.getIconResId() != -1) {\n+                final Drawable drawable = VectorDrawableCompat.create(mContext.getResources(), curItem\n+                        .getIconResId(), null);\n+                viewHolder.itemIconView.setVisibility(View.VISIBLE);\n+                viewHolder.itemIconView.setImageDrawable(drawable);\n+            } else {\n+                viewHolder.itemIconView.setVisibility(View.GONE);\n+            }\n+\n+            if(curItem.getMeasurementValue().isEmpty()) { // no measurement value\n+                viewHolder.itemMeasurementView.setVisibility(View.GONE);\n+            } else {\n+                viewHolder.itemMeasurementView.setVisibility(View.VISIBLE);\n+                Spannable spannableValue, spannableUnit;\n+                String separator;\n+                if (curItem.getIconResId() != -1) { //measurement value exist with  icon\n+                    final int valueTextSize = (int)mContext.getResources()\n+                            .getDimension(R.dimen.dashboard_measurement_value_size);\n+                    final int unitTextSize = (int)mContext.getResources()\n+                            .getDimension(R.dimen.dashboard_measurement_unit_size);\n+\n+                    spannableValue = new SpannableString(curItem.getMeasurementValue());\n+                    spannableValue.setSpan(new AbsoluteSizeSpan(valueTextSize), 0,\n+                            curItem.getMeasurementValue().length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);\n+\n+                    spannableUnit = new SpannableString(curItem.getMeasurementUnit());\n+                    spannableUnit.setSpan(new AbsoluteSizeSpan(unitTextSize), 0,\n+                            curItem.getMeasurementUnit().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);\n+                    viewHolder.itemMeasurementView.setTypeface(Typeface.SANS_SERIF);\n+                    separator = \"\";\n+                } else { //measurement value exist with no icon\n+                    final int valueTextSize = (int)mContext.getResources()\n+                            .getDimension(R.dimen.dashboard_measurement_value_size_large);\n+\n+                    viewHolder.itemMeasurementView.setVisibility(View.VISIBLE);\n+                    spannableValue = new SpannableString(curItem.getMeasurementValue());\n+                    spannableValue.setSpan(new TypefaceSpan(mContext.getString(R.string.roboto_light))\n+                            , 0, curItem.getMeasurementValue().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);\n+\n+                    spannableUnit = new SpannableString(curItem.getMeasurementUnit());\n+                    spannableUnit.setSpan(new TypefaceSpan(mContext.getString(R.string.roboto_medium))\n+                            , 0, curItem.getMeasurementUnit().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);\n+\n+                    viewHolder.itemMeasurementView.setTextSize(TypedValue.COMPLEX_UNIT_PX, valueTextSize);\n+                    separator = \"\\n\";\n+                }\n+                viewHolder.itemMeasurementView.setText(TextUtils.concat(spannableValue,separator,spannableUnit));\n+            }\n+            viewHolder.itemTitleView.setText(curItem.getTitle());\n+            viewHolder.itemContentView.setText(curItem.getContent());\n+\n+            if(curItem.getOptionValue() == -1) {\n+                viewHolder.itemMoneyBarView.setVisibility(View.GONE);\n+                viewHolder.itemMoneyBarValueView.setVisibility(View.GONE);\n+            } else {\n+                viewHolder.itemMoneyBarView.setVisibility(View.VISIBLE);\n+                final int curMoneyValue = curItem.getOptionValue() + MIN_MONEY_BAR_VALUE;\n+                viewHolder.itemMoneyBarView.setProgress(curMoneyValue);\n+                viewHolder.itemMoneyBarValueView.setText(String.valueOf(curItem.getOptionValue() +\n+                        MIN_MONEY_BAR_VALUE).concat(\"€\"));\n+\n+                viewHolder.itemMoneyBarView.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {\n+                    @Override\n+                    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {\n+                        viewHolder.itemMoneyBarValueView.setText(String.valueOf(progress +\n+                                MIN_MONEY_BAR_VALUE).concat(\" €\"));\n+                    }\n+\n+                    @Override\n+                    public void onStartTrackingTouch(SeekBar seekBar) {\n+\n+                    }\n+\n+                    @Override\n+                    public void onStopTrackingTouch(SeekBar seekBar) {\n+\n+                    }\n+                });\n+\n+                viewHolder.itemMoneyBarValueView.setVisibility(View.VISIBLE);\n+            }\n+        }\n+    }\n+\n+    @Override\n+    public int getItemViewType(int position) {\n+        return position == 0 ? ItemType.TWO_VIEWS.ordinal() : ItemType.ONE_VIEW.ordinal();\n+    }\n+\n+    @Override\n+    public int getItemCount() { // -1, because first 2 items combined in the first view\n+        return mDashboardItems.size() - 1;\n+    }\n+\n+    void setData(GeckoBundle data) {\n+        // @TODO fetch the data and fill the list\n+    }\n+\n+    void addItems(List<DashboardItemEntity> items) {\n+        mDashboardItems.clear();\n+        mDashboardItems.addAll(items);\n+        notifyDataSetChanged();\n+    }\n+\n+    public class ViewHolder extends RecyclerView.ViewHolder {\n+        public ImageView itemIconView;\n+        public TextView itemMeasurementView;\n+        public TextView itemTitleView;\n+        public TextView itemContentView;\n+        public SeekBar itemMoneyBarView;\n+        public TextView itemMoneyBarValueView;\n+\n+        public ViewHolder(View itemView) {\n+            super(itemView);\n+            itemIconView = (ImageView) itemView.findViewById(R.id.item_icon);\n+            itemMeasurementView = (TextView) itemView.findViewById(R.id.item_measurement);\n+            itemTitleView = (TextView) itemView.findViewById(R.id.item_title);\n+            itemContentView = (TextView) itemView.findViewById(R.id.item_content);\n+            itemMoneyBarView = (SeekBar) itemView.findViewById(R.id.item_money_bar);\n+            itemMoneyBarValueView = (TextView) itemView.findViewById(R.id.item_money_bar_value);\n+        }\n+    }\n+\n+    public class ItemStructure {\n+        public ImageView itemIconView;\n+        public TextView itemMeasurementView;\n+        public TextView itemTitleView;\n+        public TextView itemContentView;\n+    }\n+\n+    public class ViewHolder2 extends RecyclerView.ViewHolder {\n+        final ItemStructure leftItem, rightItem;\n+\n+        public ViewHolder2(View itemView) {\n+            super(itemView);\n+            leftItem = new ItemStructure();\n+            final View leftView = itemView.findViewById(R.id.left_item);\n+            findViews(leftView, leftItem);\n+            rightItem = new ItemStructure();\n+            final View rightView = itemView.findViewById(R.id.right_item);\n+            findViews(rightView, rightItem);\n+        }\n+\n+        public void findViews(View view, ItemStructure item) {","path":"mozilla-release/mobile/android/app/src/bond/java/org/mozilla/gecko/controlcenter/DashboardAdapter.java","position":227,"original_position":227,"commit_id":"f875487451ac875b7fa795e27f371806a737c1c6","original_commit_id":"e43e8a25e465cbff79348f51db8ee97c95094b41","user":{"login":"spacifici","id":4622675,"node_id":"MDQ6VXNlcjQ2MjI2NzU=","avatar_url":"https://avatars3.githubusercontent.com/u/4622675?v=4","gravatar_id":"","url":"https://api.github.com/users/spacifici","html_url":"https://github.com/spacifici","followers_url":"https://api.github.com/users/spacifici/followers","following_url":"https://api.github.com/users/spacifici/following{/other_user}","gists_url":"https://api.github.com/users/spacifici/gists{/gist_id}","starred_url":"https://api.github.com/users/spacifici/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spacifici/subscriptions","organizations_url":"https://api.github.com/users/spacifici/orgs","repos_url":"https://api.github.com/users/spacifici/repos","events_url":"https://api.github.com/users/spacifici/events{/privacy}","received_events_url":"https://api.github.com/users/spacifici/received_events","type":"User","site_admin":false},"body":"This should return a properly constructed `ItemStructure`, instead of filling one.\r\nFor the future, please mark parameters as `outParamName` when you have a parameter that get changed inside the method.","created_at":"2018-11-09T10:05:16Z","updated_at":"2018-11-09T10:20:39Z","html_url":"https://github.com/ghostery/browser-android/pull/493#discussion_r232200332","pull_request_url":"https://api.github.com/repos/ghostery/browser-android/pulls/493","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/ghostery/browser-android/pulls/comments/232200332"},"html":{"href":"https://github.com/ghostery/browser-android/pull/493#discussion_r232200332"},"pull_request":{"href":"https://api.github.com/repos/ghostery/browser-android/pulls/493"}}},"pull_request":{"url":"https://api.github.com/repos/ghostery/browser-android/pulls/493","id":229375519,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI5Mzc1NTE5","html_url":"https://github.com/ghostery/browser-android/pull/493","diff_url":"https://github.com/ghostery/browser-android/pull/493.diff","patch_url":"https://github.com/ghostery/browser-android/pull/493.patch","issue_url":"https://api.github.com/repos/ghostery/browser-android/issues/493","number":493,"state":"open","locked":false,"title":"AP-21 [Dashboard] Implement basic Dashboard view","user":{"login":"ravjit-cliqz","id":14088871,"node_id":"MDQ6VXNlcjE0MDg4ODcx","avatar_url":"https://avatars3.githubusercontent.com/u/14088871?v=4","gravatar_id":"","url":"https://api.github.com/users/ravjit-cliqz","html_url":"https://github.com/ravjit-cliqz","followers_url":"https://api.github.com/users/ravjit-cliqz/followers","following_url":"https://api.github.com/users/ravjit-cliqz/following{/other_user}","gists_url":"https://api.github.com/users/ravjit-cliqz/gists{/gist_id}","starred_url":"https://api.github.com/users/ravjit-cliqz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ravjit-cliqz/subscriptions","organizations_url":"https://api.github.com/users/ravjit-cliqz/orgs","repos_url":"https://api.github.com/users/ravjit-cliqz/repos","events_url":"https://api.github.com/users/ravjit-cliqz/events{/privacy}","received_events_url":"https://api.github.com/users/ravjit-cliqz/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-11-08T14:05:40Z","updated_at":"2018-11-09T10:20:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"aad2f27c57ad8c63ed66c51c84df2f7684417757","assignee":null,"assignees":[],"requested_reviewers":[{"login":"jayeshsolanki93","id":6861614,"node_id":"MDQ6VXNlcjY4NjE2MTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/6861614?v=4","gravatar_id":"","url":"https://api.github.com/users/jayeshsolanki93","html_url":"https://github.com/jayeshsolanki93","followers_url":"https://api.github.com/users/jayeshsolanki93/followers","following_url":"https://api.github.com/users/jayeshsolanki93/following{/other_user}","gists_url":"https://api.github.com/users/jayeshsolanki93/gists{/gist_id}","starred_url":"https://api.github.com/users/jayeshsolanki93/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayeshsolanki93/subscriptions","organizations_url":"https://api.github.com/users/jayeshsolanki93/orgs","repos_url":"https://api.github.com/users/jayeshsolanki93/repos","events_url":"https://api.github.com/users/jayeshsolanki93/events{/privacy}","received_events_url":"https://api.github.com/users/jayeshsolanki93/received_events","type":"User","site_admin":false},{"login":"moaz-cliqz","id":30630419,"node_id":"MDQ6VXNlcjMwNjMwNDE5","avatar_url":"https://avatars1.githubusercontent.com/u/30630419?v=4","gravatar_id":"","url":"https://api.github.com/users/moaz-cliqz","html_url":"https://github.com/moaz-cliqz","followers_url":"https://api.github.com/users/moaz-cliqz/followers","following_url":"https://api.github.com/users/moaz-cliqz/following{/other_user}","gists_url":"https://api.github.com/users/moaz-cliqz/gists{/gist_id}","starred_url":"https://api.github.com/users/moaz-cliqz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moaz-cliqz/subscriptions","organizations_url":"https://api.github.com/users/moaz-cliqz/orgs","repos_url":"https://api.github.com/users/moaz-cliqz/repos","events_url":"https://api.github.com/users/moaz-cliqz/events{/privacy}","received_events_url":"https://api.github.com/users/moaz-cliqz/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/ghostery/browser-android/pulls/493/commits","review_comments_url":"https://api.github.com/repos/ghostery/browser-android/pulls/493/comments","review_comment_url":"https://api.github.com/repos/ghostery/browser-android/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ghostery/browser-android/issues/493/comments","statuses_url":"https://api.github.com/repos/ghostery/browser-android/statuses/f875487451ac875b7fa795e27f371806a737c1c6","head":{"label":"moaz-cliqz:AP-21","ref":"AP-21","sha":"f875487451ac875b7fa795e27f371806a737c1c6","user":{"login":"moaz-cliqz","id":30630419,"node_id":"MDQ6VXNlcjMwNjMwNDE5","avatar_url":"https://avatars1.githubusercontent.com/u/30630419?v=4","gravatar_id":"","url":"https://api.github.com/users/moaz-cliqz","html_url":"https://github.com/moaz-cliqz","followers_url":"https://api.github.com/users/moaz-cliqz/followers","following_url":"https://api.github.com/users/moaz-cliqz/following{/other_user}","gists_url":"https://api.github.com/users/moaz-cliqz/gists{/gist_id}","starred_url":"https://api.github.com/users/moaz-cliqz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moaz-cliqz/subscriptions","organizations_url":"https://api.github.com/users/moaz-cliqz/orgs","repos_url":"https://api.github.com/users/moaz-cliqz/repos","events_url":"https://api.github.com/users/moaz-cliqz/events{/privacy}","received_events_url":"https://api.github.com/users/moaz-cliqz/received_events","type":"User","site_admin":false},"repo":{"id":124896658,"node_id":"MDEwOlJlcG9zaXRvcnkxMjQ4OTY2NTg=","name":"cliqz-android","full_name":"moaz-cliqz/cliqz-android","private":false,"owner":{"login":"moaz-cliqz","id":30630419,"node_id":"MDQ6VXNlcjMwNjMwNDE5","avatar_url":"https://avatars1.githubusercontent.com/u/30630419?v=4","gravatar_id":"","url":"https://api.github.com/users/moaz-cliqz","html_url":"https://github.com/moaz-cliqz","followers_url":"https://api.github.com/users/moaz-cliqz/followers","following_url":"https://api.github.com/users/moaz-cliqz/following{/other_user}","gists_url":"https://api.github.com/users/moaz-cliqz/gists{/gist_id}","starred_url":"https://api.github.com/users/moaz-cliqz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moaz-cliqz/subscriptions","organizations_url":"https://api.github.com/users/moaz-cliqz/orgs","repos_url":"https://api.github.com/users/moaz-cliqz/repos","events_url":"https://api.github.com/users/moaz-cliqz/events{/privacy}","received_events_url":"https://api.github.com/users/moaz-cliqz/received_events","type":"User","site_admin":false},"html_url":"https://github.com/moaz-cliqz/cliqz-android","description":null,"fork":true,"url":"https://api.github.com/repos/moaz-cliqz/cliqz-android","forks_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/forks","keys_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/keys{/key_id}","collaborators_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/teams","hooks_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/hooks","issue_events_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/issues/events{/number}","events_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/events","assignees_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/assignees{/user}","branches_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/branches{/branch}","tags_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/tags","blobs_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/git/refs{/sha}","trees_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/git/trees{/sha}","statuses_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/statuses/{sha}","languages_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/languages","stargazers_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/stargazers","contributors_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/contributors","subscribers_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/subscribers","subscription_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/subscription","commits_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/commits{/sha}","git_commits_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/git/commits{/sha}","comments_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/comments{/number}","issue_comment_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/issues/comments{/number}","contents_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/contents/{+path}","compare_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/compare/{base}...{head}","merges_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/merges","archive_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/downloads","issues_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/issues{/number}","pulls_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/pulls{/number}","milestones_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/milestones{/number}","notifications_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/labels{/name}","releases_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/releases{/id}","deployments_url":"https://api.github.com/repos/moaz-cliqz/cliqz-android/deployments","created_at":"2018-03-12T13:52:34Z","updated_at":"2018-08-24T14:52:13Z","pushed_at":"2018-11-09T10:17:59Z","git_url":"git://github.com/moaz-cliqz/cliqz-android.git","ssh_url":"git@github.com:moaz-cliqz/cliqz-android.git","clone_url":"https://github.com/moaz-cliqz/cliqz-android.git","svn_url":"https://github.com/moaz-cliqz/cliqz-android","homepage":null,"size":806278,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ghostery:bond","ref":"bond","sha":"e290a32f88f7556b1dbca6e3d5e4bb1fb46dea0e","user":{"login":"ghostery","id":3441846,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NDE4NDY=","avatar_url":"https://avatars3.githubusercontent.com/u/3441846?v=4","gravatar_id":"","url":"https://api.github.com/users/ghostery","html_url":"https://github.com/ghostery","followers_url":"https://api.github.com/users/ghostery/followers","following_url":"https://api.github.com/users/ghostery/following{/other_user}","gists_url":"https://api.github.com/users/ghostery/gists{/gist_id}","starred_url":"https://api.github.com/users/ghostery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghostery/subscriptions","organizations_url":"https://api.github.com/users/ghostery/orgs","repos_url":"https://api.github.com/users/ghostery/repos","events_url":"https://api.github.com/users/ghostery/events{/privacy}","received_events_url":"https://api.github.com/users/ghostery/received_events","type":"Organization","site_admin":false},"repo":{"id":124240359,"node_id":"MDEwOlJlcG9zaXRvcnkxMjQyNDAzNTk=","name":"browser-android","full_name":"ghostery/browser-android","private":false,"owner":{"login":"ghostery","id":3441846,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NDE4NDY=","avatar_url":"https://avatars3.githubusercontent.com/u/3441846?v=4","gravatar_id":"","url":"https://api.github.com/users/ghostery","html_url":"https://github.com/ghostery","followers_url":"https://api.github.com/users/ghostery/followers","following_url":"https://api.github.com/users/ghostery/following{/other_user}","gists_url":"https://api.github.com/users/ghostery/gists{/gist_id}","starred_url":"https://api.github.com/users/ghostery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghostery/subscriptions","organizations_url":"https://api.github.com/users/ghostery/orgs","repos_url":"https://api.github.com/users/ghostery/repos","events_url":"https://api.github.com/users/ghostery/events{/privacy}","received_events_url":"https://api.github.com/users/ghostery/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/ghostery/browser-android","description":null,"fork":false,"url":"https://api.github.com/repos/ghostery/browser-android","forks_url":"https://api.github.com/repos/ghostery/browser-android/forks","keys_url":"https://api.github.com/repos/ghostery/browser-android/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ghostery/browser-android/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ghostery/browser-android/teams","hooks_url":"https://api.github.com/repos/ghostery/browser-android/hooks","issue_events_url":"https://api.github.com/repos/ghostery/browser-android/issues/events{/number}","events_url":"https://api.github.com/repos/ghostery/browser-android/events","assignees_url":"https://api.github.com/repos/ghostery/browser-android/assignees{/user}","branches_url":"https://api.github.com/repos/ghostery/browser-android/branches{/branch}","tags_url":"https://api.github.com/repos/ghostery/browser-android/tags","blobs_url":"https://api.github.com/repos/ghostery/browser-android/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ghostery/browser-android/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ghostery/browser-android/git/refs{/sha}","trees_url":"https://api.github.com/repos/ghostery/browser-android/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ghostery/browser-android/statuses/{sha}","languages_url":"https://api.github.com/repos/ghostery/browser-android/languages","stargazers_url":"https://api.github.com/repos/ghostery/browser-android/stargazers","contributors_url":"https://api.github.com/repos/ghostery/browser-android/contributors","subscribers_url":"https://api.github.com/repos/ghostery/browser-android/subscribers","subscription_url":"https://api.github.com/repos/ghostery/browser-android/subscription","commits_url":"https://api.github.com/repos/ghostery/browser-android/commits{/sha}","git_commits_url":"https://api.github.com/repos/ghostery/browser-android/git/commits{/sha}","comments_url":"https://api.github.com/repos/ghostery/browser-android/comments{/number}","issue_comment_url":"https://api.github.com/repos/ghostery/browser-android/issues/comments{/number}","contents_url":"https://api.github.com/repos/ghostery/browser-android/contents/{+path}","compare_url":"https://api.github.com/repos/ghostery/browser-android/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ghostery/browser-android/merges","archive_url":"https://api.github.com/repos/ghostery/browser-android/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ghostery/browser-android/downloads","issues_url":"https://api.github.com/repos/ghostery/browser-android/issues{/number}","pulls_url":"https://api.github.com/repos/ghostery/browser-android/pulls{/number}","milestones_url":"https://api.github.com/repos/ghostery/browser-android/milestones{/number}","notifications_url":"https://api.github.com/repos/ghostery/browser-android/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ghostery/browser-android/labels{/name}","releases_url":"https://api.github.com/repos/ghostery/browser-android/releases{/id}","deployments_url":"https://api.github.com/repos/ghostery/browser-android/deployments","created_at":"2018-03-07T13:31:29Z","updated_at":"2018-11-08T16:38:33Z","pushed_at":"2018-11-09T10:18:02Z","git_url":"git://github.com/ghostery/browser-android.git","ssh_url":"git@github.com:ghostery/browser-android.git","clone_url":"https://github.com/ghostery/browser-android.git","svn_url":"https://github.com/ghostery/browser-android","homepage":null,"size":794413,"stargazers_count":6,"watchers_count":6,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":21,"mirror_url":null,"archived":false,"open_issues_count":17,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":21,"open_issues":17,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ghostery/browser-android/pulls/493"},"html":{"href":"https://github.com/ghostery/browser-android/pull/493"},"issue":{"href":"https://api.github.com/repos/ghostery/browser-android/issues/493"},"comments":{"href":"https://api.github.com/repos/ghostery/browser-android/issues/493/comments"},"review_comments":{"href":"https://api.github.com/repos/ghostery/browser-android/pulls/493/comments"},"review_comment":{"href":"https://api.github.com/repos/ghostery/browser-android/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ghostery/browser-android/pulls/493/commits"},"statuses":{"href":"https://api.github.com/repos/ghostery/browser-android/statuses/f875487451ac875b7fa795e27f371806a737c1c6"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"spacifici"}}