{"action":"created","comment":{"url":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/comments/186928021","pull_request_review_id":118604048,"id":186928021,"diff_hunk":"@@ -0,0 +1,176 @@\n+package vn.asiantech.internship;\n+\n+import android.app.NotificationManager;\n+import android.app.PendingIntent;\n+import android.app.Service;\n+import android.content.BroadcastReceiver;\n+import android.content.Context;\n+import android.content.Intent;\n+import android.content.IntentFilter;\n+import android.content.SharedPreferences;\n+import android.media.MediaPlayer;\n+import android.net.Uri;\n+import android.os.Bundle;\n+import android.os.Handler;\n+import android.os.IBinder;\n+import android.support.v4.app.NotificationCompat;\n+import android.support.v4.content.LocalBroadcastManager;\n+import android.util.Log;\n+import android.widget.RemoteViews;\n+\n+public class MusicPlayerService extends Service {\n+    private static final String CHANNEL_DEFAULT_IMPORTANCE = \" MUSIC APP\";\n+    private static final String CLOSE_ACTION = \"CLOSE ACTION\";\n+    private static final String PLAY_PAUSE_ACTION = \"PLAY PAUSE ACTION\";\n+    private static final int NOTIFICATION_ID = 0;\n+    private MediaPlayer mMediaPlayer;\n+    private Handler mHandler;\n+    private Runnable mRunable;\n+    private RemoteViews mNotifycationView;\n+    private NotificationManager mNotificationManager;\n+    private NotificationCompat.Builder mBuilder;\n+    private BroadcastReceiver mPlayPauseReceiver;\n+    private BroadcastReceiver mCloseReceiver;\n+    private Intent mSongIntent;\n+\n+    public MusicPlayerService() {\n+        mHandler = new Handler();\n+        mRunable = new Runnable() {\n+            @Override\n+            public void run() {\n+                Intent durationIntent = new Intent(MusicActivity.DURATION_ACTION);\n+                durationIntent.putExtra(MusicActivity.DURATION_KEY, mMediaPlayer.getCurrentPosition());\n+                LocalBroadcastManager.getInstance(getBaseContext()).sendBroadcast(durationIntent);\n+                mNotifycationView.setTextViewText(R.id.tvTime, getDurationMS(mMediaPlayer.getCurrentPosition()));\n+                mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());\n+                mHandler.postDelayed(mRunable, 1000);\n+            }\n+        };\n+    }\n+\n+    @Override\n+    public IBinder onBind(Intent intent) {\n+        throw new UnsupportedOperationException(\"Not yet implemented\");\n+    }\n+\n+    @Override\n+    public int onStartCommand(Intent intent, int flags, int startId) {\n+        mSongIntent = new Intent(MusicActivity.SONG_ACTION);\n+\n+        mCloseReceiver = new CloseButtonClickListener();\n+        registerReceiver(mCloseReceiver, new IntentFilter(CLOSE_ACTION));\n+        Intent closeIntent = new Intent(CLOSE_ACTION);\n+        PendingIntent closePendingIntent = PendingIntent.getBroadcast(this, 0, closeIntent, 0);\n+\n+        mPlayPauseReceiver = new PlayPauseButtonClickListener();\n+        registerReceiver(mPlayPauseReceiver, new IntentFilter(PLAY_PAUSE_ACTION));\n+        Intent playPauseIntent = new Intent(PLAY_PAUSE_ACTION);\n+        PendingIntent playPausePendingIntent = PendingIntent.getBroadcast(this, 0, playPauseIntent, 0);\n+\n+        mNotifycationView = new RemoteViews(getPackageName(), R.layout.remote_view_music_player);\n+\n+        mNotifycationView.setOnClickPendingIntent(R.id.btnClose, closePendingIntent);\n+        mNotifycationView.setTextViewText(R.id.btnPlayPause, getString(R.string.pause));\n+        mNotifycationView.setOnClickPendingIntent(R.id.btnPlayPause, playPausePendingIntent);\n+\n+        SharedPreferences sharedPreferences = getSharedPreferences(getString(R.string.song_save), Context.MODE_PRIVATE);\n+        SharedPreferences.Editor editor = sharedPreferences.edit();\n+\n+        if (intent != null) {\n+            Bundle bundle = intent.getExtras();\n+            if (bundle != null) {\n+                editor.putString(MusicActivity.SONG_PATH, bundle.getString(MusicActivity.SONG_PATH));\n+                editor.putString(MusicActivity.SONG_NAME, bundle.getString(MusicActivity.SONG_NAME));\n+                editor.putString(MusicActivity.SONG_ARTIST, bundle.getString(MusicActivity.SONG_ARTIST));\n+                editor.putInt(MusicActivity.DURATION_POSITION, bundle.getInt(MusicActivity.DURATION_POSITION));\n+                editor.apply();\n+            }\n+        }\n+        Uri pathSong = Uri.parse(sharedPreferences.getString(MusicActivity.SONG_PATH, null));\n+        String nameSong = sharedPreferences.getString(MusicActivity.SONG_NAME, null);\n+        String artistSong = \" - \" + sharedPreferences.getString(MusicActivity.SONG_ARTIST, null);\n+        int positionDuration = sharedPreferences.getInt(MusicActivity.DURATION_POSITION, 0);\n+\n+        mNotifycationView.setTextViewText(R.id.tvTitle, nameSong);\n+        mNotifycationView.setTextViewText(R.id.tvArtist, artistSong);\n+\n+        if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {\n+            mMediaPlayer.stop();\n+        }\n+        mMediaPlayer = MediaPlayer.create(getBaseContext(), pathSong);\n+        mMediaPlayer.start();\n+        mMediaPlayer.seekTo(positionDuration);\n+        showNotification();\n+        mRunable.run();\n+        return START_STICKY;\n+    }\n+\n+    public class PlayPauseButtonClickListener extends BroadcastReceiver {\n+\n+        @Override\n+        public void onReceive(Context context, Intent intent) {\n+            if (mMediaPlayer.isPlaying()) {\n+                Log.d(\"AAA\", \"onReceive: Pause \");\n+                mSongIntent.putExtra(MusicActivity.SONG_ACTION, R.string.play);\n+                mMediaPlayer.pause();\n+                mNotifycationView.setTextViewText(R.id.btnPlayPause, getString(R.string.play));\n+                mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());\n+            } else {\n+                Log.d(\"AAA\", \"onReceive: Play \");\n+                mSongIntent.putExtra(MusicActivity.SONG_ACTION, R.string.pause);\n+                mMediaPlayer.start();\n+                mNotifycationView.setTextViewText(R.id.btnPlayPause, getString(R.string.pause));\n+                mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());\n+            }\n+            LocalBroadcastManager.getInstance(getBaseContext()).sendBroadcast(mSongIntent);\n+        }\n+    }\n+\n+    public class CloseButtonClickListener extends BroadcastReceiver {\n+\n+        @Override\n+        public void onReceive(Context context, Intent intent) {\n+            if (!mMediaPlayer.isPlaying()) {\n+                mSongIntent.putExtra(MusicActivity.SONG_ACTION, R.string.play);\n+                LocalBroadcastManager.getInstance(getBaseContext()).sendBroadcast(mSongIntent);\n+                mHandler.removeCallbacks(mRunable);\n+                mMediaPlayer.stop();\n+                stopSelf();\n+                mNotificationManager.cancel(NOTIFICATION_ID);\n+            }\n+        }\n+    }\n+\n+    private void showNotification() {\n+        mBuilder = new NotificationCompat.Builder(this, CHANNEL_DEFAULT_IMPORTANCE)\n+                .setSmallIcon(R.drawable.ic_library_music_black_24dp)\n+                .setContent(mNotifycationView);\n+        mNotificationManager = (android.app.NotificationManager) getSystemService(NOTIFICATION_SERVICE);","path":"app/src/at-ducnguyen/java/vn/asiantech/internship/MusicPlayerService.java","position":148,"original_position":148,"commit_id":"5d3765b1ebbe4cd070ea89c682cd9cd47a9bef3b","original_commit_id":"5d3765b1ebbe4cd070ea89c682cd9cd47a9bef3b","user":{"login":"at-vinhhuynh","id":11311731,"avatar_url":"https://avatars1.githubusercontent.com/u/11311731?v=4","gravatar_id":"","url":"https://api.github.com/users/at-vinhhuynh","html_url":"https://github.com/at-vinhhuynh","followers_url":"https://api.github.com/users/at-vinhhuynh/followers","following_url":"https://api.github.com/users/at-vinhhuynh/following{/other_user}","gists_url":"https://api.github.com/users/at-vinhhuynh/gists{/gist_id}","starred_url":"https://api.github.com/users/at-vinhhuynh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/at-vinhhuynh/subscriptions","organizations_url":"https://api.github.com/users/at-vinhhuynh/orgs","repos_url":"https://api.github.com/users/at-vinhhuynh/repos","events_url":"https://api.github.com/users/at-vinhhuynh/events{/privacy}","received_events_url":"https://api.github.com/users/at-vinhhuynh/received_events","type":"User","site_admin":false},"body":"WARNING: [UnnecessaryFullyQualifiedName] Unnecessary use of fully qualified name 'android.app.NotificationManager' due to existing import 'android.app.NotificationManager'\nhttps://pmd.github.io/pmd-5.6.1/pmd-java/rules/java/imports.html#UnnecessaryFullyQualifiedName","created_at":"2018-05-09T04:26:01Z","updated_at":"2018-05-09T04:26:01Z","html_url":"https://github.com/akaj-team/intern-18-spring/pull/55#discussion_r186928021","pull_request_url":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/55","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/comments/186928021"},"html":{"href":"https://github.com/akaj-team/intern-18-spring/pull/55#discussion_r186928021"},"pull_request":{"href":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/55"}}},"pull_request":{"url":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/55","id":185888976,"html_url":"https://github.com/akaj-team/intern-18-spring/pull/55","diff_url":"https://github.com/akaj-team/intern-18-spring/pull/55.diff","patch_url":"https://github.com/akaj-team/intern-18-spring/pull/55.patch","issue_url":"https://api.github.com/repos/akaj-team/intern-18-spring/issues/55","number":55,"state":"open","locked":false,"title":"W5- DucNguyen2- Services & Broadcast Receiver","user":{"login":"at-ducnguyen2","id":37789564,"avatar_url":"https://avatars3.githubusercontent.com/u/37789564?v=4","gravatar_id":"","url":"https://api.github.com/users/at-ducnguyen2","html_url":"https://github.com/at-ducnguyen2","followers_url":"https://api.github.com/users/at-ducnguyen2/followers","following_url":"https://api.github.com/users/at-ducnguyen2/following{/other_user}","gists_url":"https://api.github.com/users/at-ducnguyen2/gists{/gist_id}","starred_url":"https://api.github.com/users/at-ducnguyen2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/at-ducnguyen2/subscriptions","organizations_url":"https://api.github.com/users/at-ducnguyen2/orgs","repos_url":"https://api.github.com/users/at-ducnguyen2/repos","events_url":"https://api.github.com/users/at-ducnguyen2/events{/privacy}","received_events_url":"https://api.github.com/users/at-ducnguyen2/received_events","type":"User","site_admin":false},"body":"Issue: #50 ","created_at":"2018-05-04T04:09:32Z","updated_at":"2018-05-09T04:26:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ac69fd9f7737ffec0b41a3b8ee56fa354d6651ee","assignee":{"login":"at-ducnguyen2","id":37789564,"avatar_url":"https://avatars3.githubusercontent.com/u/37789564?v=4","gravatar_id":"","url":"https://api.github.com/users/at-ducnguyen2","html_url":"https://github.com/at-ducnguyen2","followers_url":"https://api.github.com/users/at-ducnguyen2/followers","following_url":"https://api.github.com/users/at-ducnguyen2/following{/other_user}","gists_url":"https://api.github.com/users/at-ducnguyen2/gists{/gist_id}","starred_url":"https://api.github.com/users/at-ducnguyen2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/at-ducnguyen2/subscriptions","organizations_url":"https://api.github.com/users/at-ducnguyen2/orgs","repos_url":"https://api.github.com/users/at-ducnguyen2/repos","events_url":"https://api.github.com/users/at-ducnguyen2/events{/privacy}","received_events_url":"https://api.github.com/users/at-ducnguyen2/received_events","type":"User","site_admin":false},"assignees":[{"login":"at-ducnguyen2","id":37789564,"avatar_url":"https://avatars3.githubusercontent.com/u/37789564?v=4","gravatar_id":"","url":"https://api.github.com/users/at-ducnguyen2","html_url":"https://github.com/at-ducnguyen2","followers_url":"https://api.github.com/users/at-ducnguyen2/followers","following_url":"https://api.github.com/users/at-ducnguyen2/following{/other_user}","gists_url":"https://api.github.com/users/at-ducnguyen2/gists{/gist_id}","starred_url":"https://api.github.com/users/at-ducnguyen2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/at-ducnguyen2/subscriptions","organizations_url":"https://api.github.com/users/at-ducnguyen2/orgs","repos_url":"https://api.github.com/users/at-ducnguyen2/repos","events_url":"https://api.github.com/users/at-ducnguyen2/events{/privacy}","received_events_url":"https://api.github.com/users/at-ducnguyen2/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"at-hanhnguyen2","id":20038259,"avatar_url":"https://avatars0.githubusercontent.com/u/20038259?v=4","gravatar_id":"","url":"https://api.github.com/users/at-hanhnguyen2","html_url":"https://github.com/at-hanhnguyen2","followers_url":"https://api.github.com/users/at-hanhnguyen2/followers","following_url":"https://api.github.com/users/at-hanhnguyen2/following{/other_user}","gists_url":"https://api.github.com/users/at-hanhnguyen2/gists{/gist_id}","starred_url":"https://api.github.com/users/at-hanhnguyen2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/at-hanhnguyen2/subscriptions","organizations_url":"https://api.github.com/users/at-hanhnguyen2/orgs","repos_url":"https://api.github.com/users/at-hanhnguyen2/repos","events_url":"https://api.github.com/users/at-hanhnguyen2/events{/privacy}","received_events_url":"https://api.github.com/users/at-hanhnguyen2/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":890695181,"url":"https://api.github.com/repos/akaj-team/intern-18-spring/labels/[Status]%2002%20-%20In-progress","name":"[Status] 02 - In-progress","color":"90caf9","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/55/commits","review_comments_url":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/55/comments","review_comment_url":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/comments{/number}","comments_url":"https://api.github.com/repos/akaj-team/intern-18-spring/issues/55/comments","statuses_url":"https://api.github.com/repos/akaj-team/intern-18-spring/statuses/5d3765b1ebbe4cd070ea89c682cd9cd47a9bef3b","head":{"label":"akaj-team:feature/create-music-player-offline-nmduc","ref":"feature/create-music-player-offline-nmduc","sha":"5d3765b1ebbe4cd070ea89c682cd9cd47a9bef3b","user":{"login":"akaj-team","id":33055357,"avatar_url":"https://avatars0.githubusercontent.com/u/33055357?v=4","gravatar_id":"","url":"https://api.github.com/users/akaj-team","html_url":"https://github.com/akaj-team","followers_url":"https://api.github.com/users/akaj-team/followers","following_url":"https://api.github.com/users/akaj-team/following{/other_user}","gists_url":"https://api.github.com/users/akaj-team/gists{/gist_id}","starred_url":"https://api.github.com/users/akaj-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akaj-team/subscriptions","organizations_url":"https://api.github.com/users/akaj-team/orgs","repos_url":"https://api.github.com/users/akaj-team/repos","events_url":"https://api.github.com/users/akaj-team/events{/privacy}","received_events_url":"https://api.github.com/users/akaj-team/received_events","type":"Organization","site_admin":false},"repo":{"id":127125744,"name":"intern-18-spring","full_name":"akaj-team/intern-18-spring","owner":{"login":"akaj-team","id":33055357,"avatar_url":"https://avatars0.githubusercontent.com/u/33055357?v=4","gravatar_id":"","url":"https://api.github.com/users/akaj-team","html_url":"https://github.com/akaj-team","followers_url":"https://api.github.com/users/akaj-team/followers","following_url":"https://api.github.com/users/akaj-team/following{/other_user}","gists_url":"https://api.github.com/users/akaj-team/gists{/gist_id}","starred_url":"https://api.github.com/users/akaj-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akaj-team/subscriptions","organizations_url":"https://api.github.com/users/akaj-team/orgs","repos_url":"https://api.github.com/users/akaj-team/repos","events_url":"https://api.github.com/users/akaj-team/events{/privacy}","received_events_url":"https://api.github.com/users/akaj-team/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/akaj-team/intern-18-spring","description":null,"fork":false,"url":"https://api.github.com/repos/akaj-team/intern-18-spring","forks_url":"https://api.github.com/repos/akaj-team/intern-18-spring/forks","keys_url":"https://api.github.com/repos/akaj-team/intern-18-spring/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akaj-team/intern-18-spring/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akaj-team/intern-18-spring/teams","hooks_url":"https://api.github.com/repos/akaj-team/intern-18-spring/hooks","issue_events_url":"https://api.github.com/repos/akaj-team/intern-18-spring/issues/events{/number}","events_url":"https://api.github.com/repos/akaj-team/intern-18-spring/events","assignees_url":"https://api.github.com/repos/akaj-team/intern-18-spring/assignees{/user}","branches_url":"https://api.github.com/repos/akaj-team/intern-18-spring/branches{/branch}","tags_url":"https://api.github.com/repos/akaj-team/intern-18-spring/tags","blobs_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/refs{/sha}","trees_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akaj-team/intern-18-spring/statuses/{sha}","languages_url":"https://api.github.com/repos/akaj-team/intern-18-spring/languages","stargazers_url":"https://api.github.com/repos/akaj-team/intern-18-spring/stargazers","contributors_url":"https://api.github.com/repos/akaj-team/intern-18-spring/contributors","subscribers_url":"https://api.github.com/repos/akaj-team/intern-18-spring/subscribers","subscription_url":"https://api.github.com/repos/akaj-team/intern-18-spring/subscription","commits_url":"https://api.github.com/repos/akaj-team/intern-18-spring/commits{/sha}","git_commits_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/commits{/sha}","comments_url":"https://api.github.com/repos/akaj-team/intern-18-spring/comments{/number}","issue_comment_url":"https://api.github.com/repos/akaj-team/intern-18-spring/issues/comments{/number}","contents_url":"https://api.github.com/repos/akaj-team/intern-18-spring/contents/{+path}","compare_url":"https://api.github.com/repos/akaj-team/intern-18-spring/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akaj-team/intern-18-spring/merges","archive_url":"https://api.github.com/repos/akaj-team/intern-18-spring/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akaj-team/intern-18-spring/downloads","issues_url":"https://api.github.com/repos/akaj-team/intern-18-spring/issues{/number}","pulls_url":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls{/number}","milestones_url":"https://api.github.com/repos/akaj-team/intern-18-spring/milestones{/number}","notifications_url":"https://api.github.com/repos/akaj-team/intern-18-spring/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akaj-team/intern-18-spring/labels{/name}","releases_url":"https://api.github.com/repos/akaj-team/intern-18-spring/releases{/id}","deployments_url":"https://api.github.com/repos/akaj-team/intern-18-spring/deployments","created_at":"2018-03-28T10:45:13Z","updated_at":"2018-05-09T02:30:22Z","pushed_at":"2018-05-09T04:24:20Z","git_url":"git://github.com/akaj-team/intern-18-spring.git","ssh_url":"git@github.com:akaj-team/intern-18-spring.git","clone_url":"https://github.com/akaj-team/intern-18-spring.git","svn_url":"https://github.com/akaj-team/intern-18-spring","homepage":null,"size":12165,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":23,"license":null,"forks":0,"open_issues":23,"watchers":0,"default_branch":"master"}},"base":{"label":"akaj-team:master","ref":"master","sha":"df94ac160420bc4313e1cdaf508ef02a3515f803","user":{"login":"akaj-team","id":33055357,"avatar_url":"https://avatars0.githubusercontent.com/u/33055357?v=4","gravatar_id":"","url":"https://api.github.com/users/akaj-team","html_url":"https://github.com/akaj-team","followers_url":"https://api.github.com/users/akaj-team/followers","following_url":"https://api.github.com/users/akaj-team/following{/other_user}","gists_url":"https://api.github.com/users/akaj-team/gists{/gist_id}","starred_url":"https://api.github.com/users/akaj-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akaj-team/subscriptions","organizations_url":"https://api.github.com/users/akaj-team/orgs","repos_url":"https://api.github.com/users/akaj-team/repos","events_url":"https://api.github.com/users/akaj-team/events{/privacy}","received_events_url":"https://api.github.com/users/akaj-team/received_events","type":"Organization","site_admin":false},"repo":{"id":127125744,"name":"intern-18-spring","full_name":"akaj-team/intern-18-spring","owner":{"login":"akaj-team","id":33055357,"avatar_url":"https://avatars0.githubusercontent.com/u/33055357?v=4","gravatar_id":"","url":"https://api.github.com/users/akaj-team","html_url":"https://github.com/akaj-team","followers_url":"https://api.github.com/users/akaj-team/followers","following_url":"https://api.github.com/users/akaj-team/following{/other_user}","gists_url":"https://api.github.com/users/akaj-team/gists{/gist_id}","starred_url":"https://api.github.com/users/akaj-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akaj-team/subscriptions","organizations_url":"https://api.github.com/users/akaj-team/orgs","repos_url":"https://api.github.com/users/akaj-team/repos","events_url":"https://api.github.com/users/akaj-team/events{/privacy}","received_events_url":"https://api.github.com/users/akaj-team/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/akaj-team/intern-18-spring","description":null,"fork":false,"url":"https://api.github.com/repos/akaj-team/intern-18-spring","forks_url":"https://api.github.com/repos/akaj-team/intern-18-spring/forks","keys_url":"https://api.github.com/repos/akaj-team/intern-18-spring/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akaj-team/intern-18-spring/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akaj-team/intern-18-spring/teams","hooks_url":"https://api.github.com/repos/akaj-team/intern-18-spring/hooks","issue_events_url":"https://api.github.com/repos/akaj-team/intern-18-spring/issues/events{/number}","events_url":"https://api.github.com/repos/akaj-team/intern-18-spring/events","assignees_url":"https://api.github.com/repos/akaj-team/intern-18-spring/assignees{/user}","branches_url":"https://api.github.com/repos/akaj-team/intern-18-spring/branches{/branch}","tags_url":"https://api.github.com/repos/akaj-team/intern-18-spring/tags","blobs_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/refs{/sha}","trees_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akaj-team/intern-18-spring/statuses/{sha}","languages_url":"https://api.github.com/repos/akaj-team/intern-18-spring/languages","stargazers_url":"https://api.github.com/repos/akaj-team/intern-18-spring/stargazers","contributors_url":"https://api.github.com/repos/akaj-team/intern-18-spring/contributors","subscribers_url":"https://api.github.com/repos/akaj-team/intern-18-spring/subscribers","subscription_url":"https://api.github.com/repos/akaj-team/intern-18-spring/subscription","commits_url":"https://api.github.com/repos/akaj-team/intern-18-spring/commits{/sha}","git_commits_url":"https://api.github.com/repos/akaj-team/intern-18-spring/git/commits{/sha}","comments_url":"https://api.github.com/repos/akaj-team/intern-18-spring/comments{/number}","issue_comment_url":"https://api.github.com/repos/akaj-team/intern-18-spring/issues/comments{/number}","contents_url":"https://api.github.com/repos/akaj-team/intern-18-spring/contents/{+path}","compare_url":"https://api.github.com/repos/akaj-team/intern-18-spring/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akaj-team/intern-18-spring/merges","archive_url":"https://api.github.com/repos/akaj-team/intern-18-spring/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akaj-team/intern-18-spring/downloads","issues_url":"https://api.github.com/repos/akaj-team/intern-18-spring/issues{/number}","pulls_url":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls{/number}","milestones_url":"https://api.github.com/repos/akaj-team/intern-18-spring/milestones{/number}","notifications_url":"https://api.github.com/repos/akaj-team/intern-18-spring/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akaj-team/intern-18-spring/labels{/name}","releases_url":"https://api.github.com/repos/akaj-team/intern-18-spring/releases{/id}","deployments_url":"https://api.github.com/repos/akaj-team/intern-18-spring/deployments","created_at":"2018-03-28T10:45:13Z","updated_at":"2018-05-09T02:30:22Z","pushed_at":"2018-05-09T04:24:20Z","git_url":"git://github.com/akaj-team/intern-18-spring.git","ssh_url":"git@github.com:akaj-team/intern-18-spring.git","clone_url":"https://github.com/akaj-team/intern-18-spring.git","svn_url":"https://github.com/akaj-team/intern-18-spring","homepage":null,"size":12165,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":23,"license":null,"forks":0,"open_issues":23,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/55"},"html":{"href":"https://github.com/akaj-team/intern-18-spring/pull/55"},"issue":{"href":"https://api.github.com/repos/akaj-team/intern-18-spring/issues/55"},"comments":{"href":"https://api.github.com/repos/akaj-team/intern-18-spring/issues/55/comments"},"review_comments":{"href":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/55/comments"},"review_comment":{"href":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/akaj-team/intern-18-spring/pulls/55/commits"},"statuses":{"href":"https://api.github.com/repos/akaj-team/intern-18-spring/statuses/5d3765b1ebbe4cd070ea89c682cd9cd47a9bef3b"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"at-vinhhuynh"}}