{"action":"created","comment":{"url":"https://api.github.com/repos/fossasia/open-event-android/pulls/comments/165422389","pull_request_review_id":93359749,"id":165422389,"diff_hunk":"@@ -1,66 +1,307 @@\n package org.fossasia.openevent.adapters.viewholders;\n \n+import android.content.Context;\n+import android.content.Intent;\n+import android.graphics.Color;\n+import android.graphics.PorterDuff;\n+import android.support.v4.content.ContextCompat;\n import android.support.v7.widget.CardView;\n import android.support.v7.widget.RecyclerView;\n+import android.text.TextUtils;\n import android.view.View;\n import android.widget.ImageView;\n import android.widget.LinearLayout;\n import android.widget.TextView;\n \n+import com.amulyakhare.textdrawable.TextDrawable;\n+\n+import org.fossasia.openevent.OpenEventApp;\n import org.fossasia.openevent.R;\n+import org.fossasia.openevent.activities.SessionDetailActivity;\n+import org.fossasia.openevent.data.Session;\n+import org.fossasia.openevent.data.Speaker;\n+import org.fossasia.openevent.data.Track;\n+import org.fossasia.openevent.dbutils.RealmDataRepository;\n+import org.fossasia.openevent.listeners.BookmarkStatus;\n+import org.fossasia.openevent.listeners.OnBookmarkSelectedListener;\n+import org.fossasia.openevent.utils.ConstantStrings;\n+import org.fossasia.openevent.utils.DateConverter;\n+import org.fossasia.openevent.utils.DateService;\n+import org.fossasia.openevent.utils.NotificationUtil;\n+import org.fossasia.openevent.utils.Utils;\n+import org.fossasia.openevent.utils.WidgetUpdater;\n+import org.threeten.bp.ZonedDateTime;\n+\n+import java.util.ArrayList;\n \n import butterknife.BindView;\n import butterknife.ButterKnife;\n+import io.reactivex.Observable;\n+import timber.log.Timber;\n+\n+import static org.fossasia.openevent.listeners.BookmarkStatus.Status.CODE_ERROR;\n+import static org.fossasia.openevent.listeners.BookmarkStatus.Status.CODE_UNDO_ADDED;\n \n public class SessionViewHolder extends RecyclerView.ViewHolder {\n \n     @BindView(R.id.session_title)\n-    public TextView sessionTitle;\n+    TextView sessionTitle;\n \n     @BindView(R.id.session_subtitle)\n-    public TextView sessionSubtitle;\n+    TextView sessionSubtitle;\n \n     @BindView(R.id.trackImageDrawable)\n-    public ImageView trackImageIcon;\n+    ImageView trackImageIcon;\n \n     @BindView(R.id.session_track)\n-    public TextView sessionTrack;\n+    TextView sessionTrack;\n \n     @BindView(R.id.session_date)\n-    public TextView sessionDate;\n+    TextView sessionDate;\n \n     @BindView(R.id.session_speaker)\n-    public TextView sessionSpeaker;\n+    TextView sessionSpeaker;\n \n     @BindView(R.id.icon_speaker)\n-    public ImageView speakerIcon;\n+    ImageView speakerIcon;\n \n     @BindView(R.id.icon_location)\n-    public ImageView locationIcon;\n+    ImageView locationIcon;\n \n     @BindView(R.id.session_time)\n-    public TextView sessionTime;\n+    TextView sessionTime;\n \n     @BindView(R.id.session_location)\n-    public TextView sessionLocation;\n+    TextView sessionLocation;\n \n     @BindView(R.id.session_bookmark_status)\n-    public ImageView sessionBookmarkIcon;\n+    ImageView sessionBookmarkIcon;\n \n     @BindView(R.id.session_details)\n-    public LinearLayout sessionDetailsHolder;\n+    LinearLayout sessionDetailsHolder;\n \n     @BindView(R.id.session_card)\n-    public CardView sessionCard;\n+    CardView sessionCard;\n \n     @BindView(R.id.titleLinearLayout)\n-    public LinearLayout sessionHeader;\n+    LinearLayout sessionHeader;\n \n     @BindView(R.id.session_status)\n-    public TextView sessionStatus;\n+    TextView sessionStatus;\n+\n+    private Session session;\n+    private Context context;\n+    private OnBookmarkSelectedListener onBookmarkSelectedListener;\n \n-    public SessionViewHolder(View itemView) {\n+    public static int listPosition;\n+    private static final int locationWiseSessionList = 1;\n+    private static final int trackWiseSessionList = 4;\n+    private static final int speakerWiseSessionList = 2;\n+\n+    public SessionViewHolder(View itemView, Context context, OnBookmarkSelectedListener onBookmarkSelectedListener) {\n         super(itemView);\n         ButterKnife.bind(this, itemView);\n+        this.context = context;\n+        this.onBookmarkSelectedListener = onBookmarkSelectedListener;\n+    }\n+\n+    public void bindSession(int type, int colorInTracks, RealmDataRepository realmRepo) {\n+\n+        String sessionTitleString = Utils.checkStringEmpty(session.getTitle());\n+        String sessionSubTitle = Utils.checkStringEmpty(session.getSubtitle());\n+        int color = ContextCompat.getColor(context, R.color.color_primary);\n+\n+        sessionTitle.setText(sessionTitleString);\n+\n+        if (Utils.isEmpty(sessionSubTitle)) {\n+            sessionSubtitle.setVisibility(View.GONE);\n+        } else {\n+            sessionSubtitle.setVisibility(View.VISIBLE);\n+            sessionSubtitle.setText(sessionSubTitle);\n+        }\n+\n+        sessionStatus.setVisibility(View.GONE);\n+\n+        setSessionStatus();\n+\n+        Track track = session.getTrack();\n+\n+        if (!RealmDataRepository.isNull(track)) {\n+            int storedColor = Color.parseColor(track.getColor());\n+\n+            if (type != trackWiseSessionList) {\n+                color = storedColor;\n+            } else {\n+                color = colorInTracks;\n+            }\n+\n+            TextDrawable drawable = OpenEventApp.getTextDrawableBuilder().round()\n+                    .build(String.valueOf(track.getName().charAt(0)), storedColor);\n+\n+            trackImageIcon.setImageDrawable(drawable);\n+            trackImageIcon.setBackgroundColor(Color.TRANSPARENT);\n+            sessionTrack.setText(track.getName());\n+\n+\n+            itemView.setOnClickListener(v -> {\n+                final String sessionName = session.getTitle();\n+                String trackName = track.getName();\n+                Intent intent = new Intent(context, SessionDetailActivity.class);\n+                intent.putExtra(ConstantStrings.SESSION, sessionName);\n+                intent.putExtra(ConstantStrings.TRACK, trackName);\n+                intent.putExtra(ConstantStrings.ID, session.getId());\n+                intent.putExtra(ConstantStrings.TRACK_ID, track.getId());\n+                listPosition = getLayoutPosition();\n+                context.startActivity(intent);\n+            });\n+        } else {\n+            trackImageIcon.setVisibility(View.GONE);\n+            sessionTrack.setVisibility(View.GONE);\n+\n+            itemView.setOnClickListener(v -> {\n+                final String sessionName = session.getTitle();\n+\n+                Intent intent = new Intent(context, SessionDetailActivity.class);\n+                intent.putExtra(ConstantStrings.SESSION, sessionName);\n+                intent.putExtra(ConstantStrings.ID, session.getId());\n+                listPosition = getLayoutPosition();\n+                context.startActivity(intent);\n+            });\n+\n+            Timber.d(\"This session has a null or incomplete track somehow : \" + session.getTitle() + \" \" + track);\n+        }\n+\n+        String date = DateConverter.formatDateWithDefault(DateConverter.FORMAT_DATE_COMPLETE, session.getStartsAt());\n+        sessionDate.setText(date);\n+        sessionTime.setText(String.format(\"%s - %s\",\n+                DateConverter.formatDateWithDefault(DateConverter.FORMAT_12H, session.getStartsAt()),\n+                DateConverter.formatDateWithDefault(DateConverter.FORMAT_12H, session.getEndsAt())));\n+\n+        if (session.getMicrolocation() != null) {\n+            String locationName = Utils.checkStringEmpty(session.getMicrolocation().getName());\n+            sessionLocation.setText(locationName);\n+        } else {\n+            sessionLocation.setText(context.getString(R.string.location_not_decided));\n+        }\n+\n+        setObservable();\n+\n+        handleVisibilityByType(type);\n+\n+        setBookmarkClickListener(realmRepo, track);\n+\n+        // Set color generated by palette on views\n+        sessionHeader.setBackgroundColor(color);\n+        if (track != null && track.isValid()) {\n+\n+            sessionTitle.setTextColor(Color.parseColor(track.getFontColor()));\n+            setBookmarkIcon(\n+                    sessionBookmarkIcon, session.getIsBookmarked(), track.getFontColor());\n+        }\n+    }\n+\n+    private void setObservable() {\n+        Observable.just(session.getSpeakers())\n+                .map(speakers -> {\n+                    ArrayList<String> speakerName = new ArrayList<>();\n+\n+                    for (Speaker speaker : speakers) {\n+                        String name = Utils.checkStringEmpty(speaker.getName());\n+                        speakerName.add(name);\n+                    }\n+\n+                    if (speakers.isEmpty()) {\n+                        sessionSpeaker.setVisibility(View.GONE);\n+                        speakerIcon.setVisibility(View.GONE);\n+                    }\n+\n+                    return TextUtils.join(\", \", speakerName);\n+                }).subscribe(speakerList ->\n+                sessionSpeaker.setText(speakerList));\n+    }\n+\n+    private void setSessionStatus() {\n+        ZonedDateTime start = DateConverter.getDate(session.getStartsAt());\n+        ZonedDateTime end = DateConverter.getDate((session.getEndsAt()));\n+        ZonedDateTime current = ZonedDateTime.now();\n+        if (DateService.isUpcomingSession(start, end, current)) {\n+            sessionStatus.setVisibility(View.VISIBLE);\n+            sessionStatus.setText(R.string.status_upcoming);\n+        } else if (DateService.isOngoingSession(start, end, current)) {\n+            sessionStatus.setVisibility(View.VISIBLE);\n+            sessionStatus.setText(R.string.status_ongoing);\n+        }\n+\n+    }\n+\n+    private void handleVisibilityByType(int type) {\n+        switch (type) {\n+            case trackWiseSessionList:\n+                trackImageIcon.setVisibility(View.GONE);\n+                sessionTrack.setVisibility(View.GONE);\n+                break;\n+\n+            case locationWiseSessionList:\n+                sessionLocation.setVisibility(View.GONE);\n+                locationIcon.setVisibility(View.GONE);\n+                break;\n+\n+            case speakerWiseSessionList:\n+                sessionSpeaker.setVisibility(View.GONE);\n+                speakerIcon.setVisibility(View.GONE);\n+                break;\n+\n+            default: // Shouldn't reach here\n+        }\n+    }\n+\n+    private void setBookmarkClickListener(RealmDataRepository realmRepo, Track track) {\n+\n+        final int sessionId = session.getId();\n+        sessionBookmarkIcon.setOnClickListener(v -> {\n+            if (track == null) return;\n+\n+            if (session.getIsBookmarked()) {\n+\n+                realmRepo.setBookmark(sessionId, false).subscribe();\n+                setBookmarkIcon(\n+                        sessionBookmarkIcon, false, track.getFontColor());\n+\n+                if (onBookmarkSelectedListener != null)\n+                    onBookmarkSelectedListener.showSnackbar(new BookmarkStatus(Color.parseColor(track.getColor()),\n+                            sessionId, BookmarkStatus.Status.CODE_UNDO_REMOVED));\n+\n+            } else {\n+                NotificationUtil.createNotification(session, context).subscribe(\n+                        () -> {\n+                            if (onBookmarkSelectedListener != null)\n+                                onBookmarkSelectedListener.showSnackbar(new BookmarkStatus(Color.parseColor(track.getColor()),\n+                                        sessionId, CODE_UNDO_ADDED));\n+                        },\n+                        throwable -> {\n+                            if (onBookmarkSelectedListener != null)\n+                                onBookmarkSelectedListener.showSnackbar(new BookmarkStatus(-1, -1, CODE_ERROR));\n+                        });\n+\n+                realmRepo.setBookmark(sessionId, true).subscribe();\n+                setBookmarkIcon(\n+                        sessionBookmarkIcon, true, track.getFontColor());\n+            }\n+            WidgetUpdater.updateWidget(context);\n+        });\n+    }\n+\n+    private void setBookmarkIcon(ImageView sessionBookmarkIcon, boolean bookmarked, String color) {\n+        if (bookmarked) {\n+            sessionBookmarkIcon.setImageResource(R.drawable.ic_bookmark_white_24dp);\n+        } else {\n+            sessionBookmarkIcon.setImageResource(R.drawable.ic_bookmark_border_white_24dp);\n+        }\n+        if (!Utils.isEmpty(color))\n+            sessionBookmarkIcon.setColorFilter(Color.parseColor(color), PorterDuff.Mode.SRC_ATOP);\n+    }\n+\n+    public void setSession(Session session) {\n+        this.session = session;","path":"android/app/src/main/java/org/fossasia/openevent/adapters/viewholders/SessionViewHolder.java","position":321,"original_position":321,"commit_id":"f6735a079d4a807df6cb61e65b664d5b3a3f22cd","original_commit_id":"f6735a079d4a807df6cb61e65b664d5b3a3f22cd","user":{"login":"iamareebjamal","id":3874064,"avatar_url":"https://avatars0.githubusercontent.com/u/3874064?v=4","gravatar_id":"","url":"https://api.github.com/users/iamareebjamal","html_url":"https://github.com/iamareebjamal","followers_url":"https://api.github.com/users/iamareebjamal/followers","following_url":"https://api.github.com/users/iamareebjamal/following{/other_user}","gists_url":"https://api.github.com/users/iamareebjamal/gists{/gist_id}","starred_url":"https://api.github.com/users/iamareebjamal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iamareebjamal/subscriptions","organizations_url":"https://api.github.com/users/iamareebjamal/orgs","repos_url":"https://api.github.com/users/iamareebjamal/repos","events_url":"https://api.github.com/users/iamareebjamal/events{/privacy}","received_events_url":"https://api.github.com/users/iamareebjamal/received_events","type":"User","site_admin":false},"body":"Why should this interface be needed? I think we are handling click in the adapter right, just create a listener in adapter which tells fragment which item was clicked and this information will be passed to viewmodel and it will handle the click","created_at":"2018-02-01T17:05:02Z","updated_at":"2018-02-01T17:05:02Z","html_url":"https://github.com/fossasia/open-event-android/pull/2218#discussion_r165422389","pull_request_url":"https://api.github.com/repos/fossasia/open-event-android/pulls/2218","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/fossasia/open-event-android/pulls/comments/165422389"},"html":{"href":"https://github.com/fossasia/open-event-android/pull/2218#discussion_r165422389"},"pull_request":{"href":"https://api.github.com/repos/fossasia/open-event-android/pulls/2218"}},"in_reply_to_id":164294912},"pull_request":{"url":"https://api.github.com/repos/fossasia/open-event-android/pulls/2218","id":165305859,"html_url":"https://github.com/fossasia/open-event-android/pull/2218","diff_url":"https://github.com/fossasia/open-event-android/pull/2218.diff","patch_url":"https://github.com/fossasia/open-event-android/pull/2218.patch","issue_url":"https://api.github.com/repos/fossasia/open-event-android/issues/2218","number":2218,"state":"open","locked":false,"title":"Fix #2202 - Shift bindView of SessionListAdapter to its view holder.","user":{"login":"mayank8318","id":22395998,"avatar_url":"https://avatars0.githubusercontent.com/u/22395998?v=4","gravatar_id":"","url":"https://api.github.com/users/mayank8318","html_url":"https://github.com/mayank8318","followers_url":"https://api.github.com/users/mayank8318/followers","following_url":"https://api.github.com/users/mayank8318/following{/other_user}","gists_url":"https://api.github.com/users/mayank8318/gists{/gist_id}","starred_url":"https://api.github.com/users/mayank8318/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mayank8318/subscriptions","organizations_url":"https://api.github.com/users/mayank8318/orgs","repos_url":"https://api.github.com/users/mayank8318/repos","events_url":"https://api.github.com/users/mayank8318/events{/privacy}","received_events_url":"https://api.github.com/users/mayank8318/received_events","type":"User","site_admin":false},"body":"Fixes #2202 \r\nChanges: Move code of bindView from adapter to view holder.\r\n","created_at":"2018-01-26T07:45:33Z","updated_at":"2018-02-01T17:05:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b018084221af77fb72d1bc83099a7bf630b9a131","assignee":{"login":"mayank8318","id":22395998,"avatar_url":"https://avatars0.githubusercontent.com/u/22395998?v=4","gravatar_id":"","url":"https://api.github.com/users/mayank8318","html_url":"https://github.com/mayank8318","followers_url":"https://api.github.com/users/mayank8318/followers","following_url":"https://api.github.com/users/mayank8318/following{/other_user}","gists_url":"https://api.github.com/users/mayank8318/gists{/gist_id}","starred_url":"https://api.github.com/users/mayank8318/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mayank8318/subscriptions","organizations_url":"https://api.github.com/users/mayank8318/orgs","repos_url":"https://api.github.com/users/mayank8318/repos","events_url":"https://api.github.com/users/mayank8318/events{/privacy}","received_events_url":"https://api.github.com/users/mayank8318/received_events","type":"User","site_admin":false},"assignees":[{"login":"mayank8318","id":22395998,"avatar_url":"https://avatars0.githubusercontent.com/u/22395998?v=4","gravatar_id":"","url":"https://api.github.com/users/mayank8318","html_url":"https://github.com/mayank8318","followers_url":"https://api.github.com/users/mayank8318/followers","following_url":"https://api.github.com/users/mayank8318/following{/other_user}","gists_url":"https://api.github.com/users/mayank8318/gists{/gist_id}","starred_url":"https://api.github.com/users/mayank8318/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mayank8318/subscriptions","organizations_url":"https://api.github.com/users/mayank8318/orgs","repos_url":"https://api.github.com/users/mayank8318/repos","events_url":"https://api.github.com/users/mayank8318/events{/privacy}","received_events_url":"https://api.github.com/users/mayank8318/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"milestone":null,"commits_url":"https://api.github.com/repos/fossasia/open-event-android/pulls/2218/commits","review_comments_url":"https://api.github.com/repos/fossasia/open-event-android/pulls/2218/comments","review_comment_url":"https://api.github.com/repos/fossasia/open-event-android/pulls/comments{/number}","comments_url":"https://api.github.com/repos/fossasia/open-event-android/issues/2218/comments","statuses_url":"https://api.github.com/repos/fossasia/open-event-android/statuses/f6735a079d4a807df6cb61e65b664d5b3a3f22cd","head":{"label":"mayank8318:MoveToVH","ref":"MoveToVH","sha":"f6735a079d4a807df6cb61e65b664d5b3a3f22cd","user":{"login":"mayank8318","id":22395998,"avatar_url":"https://avatars0.githubusercontent.com/u/22395998?v=4","gravatar_id":"","url":"https://api.github.com/users/mayank8318","html_url":"https://github.com/mayank8318","followers_url":"https://api.github.com/users/mayank8318/followers","following_url":"https://api.github.com/users/mayank8318/following{/other_user}","gists_url":"https://api.github.com/users/mayank8318/gists{/gist_id}","starred_url":"https://api.github.com/users/mayank8318/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mayank8318/subscriptions","organizations_url":"https://api.github.com/users/mayank8318/orgs","repos_url":"https://api.github.com/users/mayank8318/repos","events_url":"https://api.github.com/users/mayank8318/events{/privacy}","received_events_url":"https://api.github.com/users/mayank8318/received_events","type":"User","site_admin":false},"repo":{"id":109979591,"name":"open-event-android","full_name":"mayank8318/open-event-android","owner":{"login":"mayank8318","id":22395998,"avatar_url":"https://avatars0.githubusercontent.com/u/22395998?v=4","gravatar_id":"","url":"https://api.github.com/users/mayank8318","html_url":"https://github.com/mayank8318","followers_url":"https://api.github.com/users/mayank8318/followers","following_url":"https://api.github.com/users/mayank8318/following{/other_user}","gists_url":"https://api.github.com/users/mayank8318/gists{/gist_id}","starred_url":"https://api.github.com/users/mayank8318/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mayank8318/subscriptions","organizations_url":"https://api.github.com/users/mayank8318/orgs","repos_url":"https://api.github.com/users/mayank8318/repos","events_url":"https://api.github.com/users/mayank8318/events{/privacy}","received_events_url":"https://api.github.com/users/mayank8318/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mayank8318/open-event-android","description":"Open Event Android App Generator https://github.com/fossasia/open-event-android/raw/apk/sample-apk-development.apk http://droidgen.eventyay.com","fork":true,"url":"https://api.github.com/repos/mayank8318/open-event-android","forks_url":"https://api.github.com/repos/mayank8318/open-event-android/forks","keys_url":"https://api.github.com/repos/mayank8318/open-event-android/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mayank8318/open-event-android/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mayank8318/open-event-android/teams","hooks_url":"https://api.github.com/repos/mayank8318/open-event-android/hooks","issue_events_url":"https://api.github.com/repos/mayank8318/open-event-android/issues/events{/number}","events_url":"https://api.github.com/repos/mayank8318/open-event-android/events","assignees_url":"https://api.github.com/repos/mayank8318/open-event-android/assignees{/user}","branches_url":"https://api.github.com/repos/mayank8318/open-event-android/branches{/branch}","tags_url":"https://api.github.com/repos/mayank8318/open-event-android/tags","blobs_url":"https://api.github.com/repos/mayank8318/open-event-android/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mayank8318/open-event-android/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mayank8318/open-event-android/git/refs{/sha}","trees_url":"https://api.github.com/repos/mayank8318/open-event-android/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mayank8318/open-event-android/statuses/{sha}","languages_url":"https://api.github.com/repos/mayank8318/open-event-android/languages","stargazers_url":"https://api.github.com/repos/mayank8318/open-event-android/stargazers","contributors_url":"https://api.github.com/repos/mayank8318/open-event-android/contributors","subscribers_url":"https://api.github.com/repos/mayank8318/open-event-android/subscribers","subscription_url":"https://api.github.com/repos/mayank8318/open-event-android/subscription","commits_url":"https://api.github.com/repos/mayank8318/open-event-android/commits{/sha}","git_commits_url":"https://api.github.com/repos/mayank8318/open-event-android/git/commits{/sha}","comments_url":"https://api.github.com/repos/mayank8318/open-event-android/comments{/number}","issue_comment_url":"https://api.github.com/repos/mayank8318/open-event-android/issues/comments{/number}","contents_url":"https://api.github.com/repos/mayank8318/open-event-android/contents/{+path}","compare_url":"https://api.github.com/repos/mayank8318/open-event-android/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mayank8318/open-event-android/merges","archive_url":"https://api.github.com/repos/mayank8318/open-event-android/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mayank8318/open-event-android/downloads","issues_url":"https://api.github.com/repos/mayank8318/open-event-android/issues{/number}","pulls_url":"https://api.github.com/repos/mayank8318/open-event-android/pulls{/number}","milestones_url":"https://api.github.com/repos/mayank8318/open-event-android/milestones{/number}","notifications_url":"https://api.github.com/repos/mayank8318/open-event-android/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mayank8318/open-event-android/labels{/name}","releases_url":"https://api.github.com/repos/mayank8318/open-event-android/releases{/id}","deployments_url":"https://api.github.com/repos/mayank8318/open-event-android/deployments","created_at":"2017-11-08T13:30:12Z","updated_at":"2017-11-08T13:30:15Z","pushed_at":"2018-01-31T12:12:46Z","git_url":"git://github.com/mayank8318/open-event-android.git","ssh_url":"git@github.com:mayank8318/open-event-android.git","clone_url":"https://github.com/mayank8318/open-event-android.git","svn_url":"https://github.com/mayank8318/open-event-android","homepage":"","size":77530,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"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":"development"}},"base":{"label":"fossasia:development","ref":"development","sha":"fd8df7538527a268f7d735c4f0d30e99c8541631","user":{"login":"fossasia","id":6295529,"avatar_url":"https://avatars3.githubusercontent.com/u/6295529?v=4","gravatar_id":"","url":"https://api.github.com/users/fossasia","html_url":"https://github.com/fossasia","followers_url":"https://api.github.com/users/fossasia/followers","following_url":"https://api.github.com/users/fossasia/following{/other_user}","gists_url":"https://api.github.com/users/fossasia/gists{/gist_id}","starred_url":"https://api.github.com/users/fossasia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fossasia/subscriptions","organizations_url":"https://api.github.com/users/fossasia/orgs","repos_url":"https://api.github.com/users/fossasia/repos","events_url":"https://api.github.com/users/fossasia/events{/privacy}","received_events_url":"https://api.github.com/users/fossasia/received_events","type":"Organization","site_admin":false},"repo":{"id":35269607,"name":"open-event-android","full_name":"fossasia/open-event-android","owner":{"login":"fossasia","id":6295529,"avatar_url":"https://avatars3.githubusercontent.com/u/6295529?v=4","gravatar_id":"","url":"https://api.github.com/users/fossasia","html_url":"https://github.com/fossasia","followers_url":"https://api.github.com/users/fossasia/followers","following_url":"https://api.github.com/users/fossasia/following{/other_user}","gists_url":"https://api.github.com/users/fossasia/gists{/gist_id}","starred_url":"https://api.github.com/users/fossasia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fossasia/subscriptions","organizations_url":"https://api.github.com/users/fossasia/orgs","repos_url":"https://api.github.com/users/fossasia/repos","events_url":"https://api.github.com/users/fossasia/events{/privacy}","received_events_url":"https://api.github.com/users/fossasia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fossasia/open-event-android","description":"Open Event Android App Generator https://github.com/fossasia/open-event-android/raw/apk/sample-apk-fossasia17-development.apk","fork":false,"url":"https://api.github.com/repos/fossasia/open-event-android","forks_url":"https://api.github.com/repos/fossasia/open-event-android/forks","keys_url":"https://api.github.com/repos/fossasia/open-event-android/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fossasia/open-event-android/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fossasia/open-event-android/teams","hooks_url":"https://api.github.com/repos/fossasia/open-event-android/hooks","issue_events_url":"https://api.github.com/repos/fossasia/open-event-android/issues/events{/number}","events_url":"https://api.github.com/repos/fossasia/open-event-android/events","assignees_url":"https://api.github.com/repos/fossasia/open-event-android/assignees{/user}","branches_url":"https://api.github.com/repos/fossasia/open-event-android/branches{/branch}","tags_url":"https://api.github.com/repos/fossasia/open-event-android/tags","blobs_url":"https://api.github.com/repos/fossasia/open-event-android/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fossasia/open-event-android/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fossasia/open-event-android/git/refs{/sha}","trees_url":"https://api.github.com/repos/fossasia/open-event-android/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fossasia/open-event-android/statuses/{sha}","languages_url":"https://api.github.com/repos/fossasia/open-event-android/languages","stargazers_url":"https://api.github.com/repos/fossasia/open-event-android/stargazers","contributors_url":"https://api.github.com/repos/fossasia/open-event-android/contributors","subscribers_url":"https://api.github.com/repos/fossasia/open-event-android/subscribers","subscription_url":"https://api.github.com/repos/fossasia/open-event-android/subscription","commits_url":"https://api.github.com/repos/fossasia/open-event-android/commits{/sha}","git_commits_url":"https://api.github.com/repos/fossasia/open-event-android/git/commits{/sha}","comments_url":"https://api.github.com/repos/fossasia/open-event-android/comments{/number}","issue_comment_url":"https://api.github.com/repos/fossasia/open-event-android/issues/comments{/number}","contents_url":"https://api.github.com/repos/fossasia/open-event-android/contents/{+path}","compare_url":"https://api.github.com/repos/fossasia/open-event-android/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fossasia/open-event-android/merges","archive_url":"https://api.github.com/repos/fossasia/open-event-android/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fossasia/open-event-android/downloads","issues_url":"https://api.github.com/repos/fossasia/open-event-android/issues{/number}","pulls_url":"https://api.github.com/repos/fossasia/open-event-android/pulls{/number}","milestones_url":"https://api.github.com/repos/fossasia/open-event-android/milestones{/number}","notifications_url":"https://api.github.com/repos/fossasia/open-event-android/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fossasia/open-event-android/labels{/name}","releases_url":"https://api.github.com/repos/fossasia/open-event-android/releases{/id}","deployments_url":"https://api.github.com/repos/fossasia/open-event-android/deployments","created_at":"2015-05-08T09:04:11Z","updated_at":"2018-02-01T13:11:50Z","pushed_at":"2018-02-01T16:29:09Z","git_url":"git://github.com/fossasia/open-event-android.git","ssh_url":"git@github.com:fossasia/open-event-android.git","clone_url":"https://github.com/fossasia/open-event-android.git","svn_url":"https://github.com/fossasia/open-event-android","homepage":"http://droidgen.eventyay.com","size":72407,"stargazers_count":723,"watchers_count":723,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":770,"mirror_url":null,"archived":false,"open_issues_count":71,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":770,"open_issues":71,"watchers":723,"default_branch":"development"}},"_links":{"self":{"href":"https://api.github.com/repos/fossasia/open-event-android/pulls/2218"},"html":{"href":"https://github.com/fossasia/open-event-android/pull/2218"},"issue":{"href":"https://api.github.com/repos/fossasia/open-event-android/issues/2218"},"comments":{"href":"https://api.github.com/repos/fossasia/open-event-android/issues/2218/comments"},"review_comments":{"href":"https://api.github.com/repos/fossasia/open-event-android/pulls/2218/comments"},"review_comment":{"href":"https://api.github.com/repos/fossasia/open-event-android/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/fossasia/open-event-android/pulls/2218/commits"},"statuses":{"href":"https://api.github.com/repos/fossasia/open-event-android/statuses/f6735a079d4a807df6cb61e65b664d5b3a3f22cd"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"iamareebjamal"}}