{"action":"created","comment":{"url":"https://api.github.com/repos/haiwen/seadroid/pulls/comments/30479636","id":30479636,"diff_hunk":"@@ -0,0 +1,476 @@\n+package com.seafile.seadroid2.ui.activity;\n+\n+import android.content.Context;\n+import android.content.Intent;\n+import android.content.pm.ResolveInfo;\n+import android.os.AsyncTask;\n+import android.os.Bundle;\n+import android.support.v4.view.ViewPager;\n+import android.text.ClipboardManager;\n+import android.util.Log;\n+import android.view.View;\n+import android.view.WindowManager;\n+import android.view.animation.AnimationUtils;\n+import android.widget.FrameLayout;\n+import android.widget.ImageView;\n+import android.widget.LinearLayout;\n+import android.widget.TextView;\n+import com.actionbarsherlock.app.SherlockFragmentActivity;\n+import com.google.common.collect.Lists;\n+import com.google.common.collect.Maps;\n+import com.seafile.seadroid2.ConcurrentAsyncTask;\n+import com.seafile.seadroid2.R;\n+import com.seafile.seadroid2.SeafException;\n+import com.seafile.seadroid2.account.Account;\n+import com.seafile.seadroid2.data.DataManager;\n+import com.seafile.seadroid2.data.SeafDirent;\n+import com.seafile.seadroid2.ui.ToastUtils;\n+import com.seafile.seadroid2.ui.ZoomOutPageTransformer;\n+import com.seafile.seadroid2.ui.adapter.GalleryAdapter;\n+import com.seafile.seadroid2.ui.dialog.AppChoiceDialog;\n+import com.seafile.seadroid2.ui.dialog.DeleteFileDialog;\n+import com.seafile.seadroid2.ui.dialog.GetShareLinkDialog;\n+import com.seafile.seadroid2.ui.dialog.TaskDialog;\n+import com.seafile.seadroid2.util.Utils;\n+\n+import java.util.ArrayList;\n+import java.util.HashMap;\n+import java.util.List;\n+\n+/**\n+ * A gallery of images with sliding, zooming, multi-touch and single touch support\n+ * Local cached images will be shown directly, while cloud images will be asynchronously downloaded first\n+ */\n+public class GalleryActivity extends SherlockFragmentActivity {\n+    public static final String DEBUG_TAG = \"GalleryActivity\";\n+\n+    private ViewPager mViewPager;\n+    private LinearLayout mPageIndexContainer;\n+    private TextView mPageIndexTextView;\n+    private TextView mPageCountTextView;\n+    private TextView mPageNameTextView;\n+    private FrameLayout mProgressView;\n+    private ImageView mDeleteBtn;\n+    private ImageView mStarBtn;\n+    private ImageView mShareBtn;\n+    private LinearLayout mToolbar;\n+    private DataManager dataMgr;\n+    private Account mAccount;\n+    private String repoName;\n+    private String repoID;\n+    private String dirPath;\n+    private String fileName;\n+    private SeafDirent currentDirent;\n+    private int mPageIndex;\n+    private GalleryAdapter mGalleryAdapter;\n+    private final RequestPhotoLinksTask mLinksTask = new RequestPhotoLinksTask();\n+    /** mapping thumbnail link to seafDirent in order to display photo name */\n+    private HashMap<String, SeafDirent> mThumbLinkAndSeafDirentMap = Maps.newHashMap();\n+\n+    private static boolean showToolBar = true;\n+    private View.OnClickListener onClickListener = new View.OnClickListener() {\n+        @Override\n+        public void onClick(View v) {\n+            switch (v.getId()) {\n+                case R.id.gallery_delete_photo:\n+                    if (currentDirent == null)\n+                        return;\n+                    deleteFile(repoID, Utils.pathJoin(dirPath, currentDirent.name));\n+                    break;\n+                case R.id.gallery_star_photo:\n+                    starFile(repoID, dirPath, currentDirent.name);\n+                    break;\n+                case R.id.gallery_share_photo:\n+                    shareFile(repoID, Utils.pathJoin(dirPath, currentDirent.name));\n+                    break;\n+            }\n+        }\n+    };\n+\n+    @Override\n+    public void onCreate(Bundle savedInstanceState) {\n+        super.onCreate(savedInstanceState);\n+        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);\n+        setContentView(R.layout.gallery_activity_layout);\n+        if (getSupportActionBar() != null)\n+            getSupportActionBar().hide();\n+\n+        mProgressView = (FrameLayout) findViewById(R.id.gallery_progressContainer);\n+        mDeleteBtn = (ImageView) findViewById(R.id.gallery_delete_photo);\n+        mStarBtn = (ImageView) findViewById(R.id.gallery_star_photo);\n+        mShareBtn = (ImageView) findViewById(R.id.gallery_share_photo);\n+        mToolbar = (LinearLayout) findViewById(R.id.gallery_tool_bar);\n+        mDeleteBtn.setOnClickListener(onClickListener);\n+        mStarBtn.setOnClickListener(onClickListener);\n+        mShareBtn.setOnClickListener(onClickListener);\n+        mViewPager = (ViewPager) findViewById(R.id.gallery_pager);\n+        mViewPager.setPageTransformer(true, new ZoomOutPageTransformer());\n+        mViewPager.setOffscreenPageLimit(1);\n+\n+        mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {\n+            @Override\n+            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {\n+                // page index starting from 1 instead of 0 in user interface, so plus one here\n+                mPageIndexTextView.setText(String.valueOf(position + 1));\n+                mPageIndex = position;\n+                String linkKey = mGalleryAdapter.getItem(position);\n+                if (mThumbLinkAndSeafDirentMap.containsKey(linkKey)) {\n+                    currentDirent = mThumbLinkAndSeafDirentMap.get(linkKey);\n+                    mPageNameTextView.setText(currentDirent.name);\n+                }\n+            }\n+\n+            @Override\n+            public void onPageSelected(int position) {}\n+\n+            @Override\n+            public void onPageScrollStateChanged(int state) {}\n+        });\n+\n+        mPageIndexContainer = (LinearLayout) findViewById(R.id.page_index_container);\n+        mPageIndexTextView = (TextView) findViewById(R.id.gallery_page_index);\n+        mPageCountTextView = (TextView) findViewById(R.id.gallery_page_count);\n+        mPageNameTextView = (TextView) findViewById(R.id.gallery_page_name);\n+\n+        repoName = getIntent().getStringExtra(\"repoName\");\n+        repoID = getIntent().getStringExtra(\"repoId\");\n+        dirPath = getIntent().getStringExtra(\"path\");\n+        mAccount = getIntent().getParcelableExtra(\"account\");\n+        fileName = getIntent().getStringExtra(\"fileName\");\n+        dataMgr = new DataManager(mAccount);\n+\n+        showGallery(repoName, repoID, dirPath, fileName);\n+    }\n+\n+    private void showGallery(String repoName, String repoID, String dirPath, String fileName) {\n+        if (!Utils.isNetworkOn()) {\n+            // show cached images\n+            List<SeafDirent> seafDirents = dataMgr.getCachedDirents(repoID, dirPath);\n+            if (seafDirents == null)\n+                return;\n+\n+            ArrayList<String> links = Lists.newArrayList();\n+            for (SeafDirent seafDirent : seafDirents) {\n+                if (!seafDirent.isDir()\n+                        && Utils.isViewableImage(seafDirent.name)) { // only cache image type files\n+                    String link = dataMgr.getThumbnailLink(repoID, Utils.pathJoin(dirPath, seafDirent.name), 800);\n+                    // Log.d(DEBUG_TAG, \"add remote url \" + thumbnailLink);\n+                    if (link != null) {\n+                        links.add(link);\n+                        mThumbLinkAndSeafDirentMap.put(link, seafDirent);","path":"src/com/seafile/seadroid2/ui/activity/GalleryActivity.java","position":160,"original_position":160,"commit_id":"1e613498a29ea5b740da225d3488d7af3c8ac1b4","original_commit_id":"1e613498a29ea5b740da225d3488d7af3c8ac1b4","user":{"login":"lins05","id":717363,"avatar_url":"https://avatars.githubusercontent.com/u/717363?v=3","gravatar_id":"","url":"https://api.github.com/users/lins05","html_url":"https://github.com/lins05","followers_url":"https://api.github.com/users/lins05/followers","following_url":"https://api.github.com/users/lins05/following{/other_user}","gists_url":"https://api.github.com/users/lins05/gists{/gist_id}","starred_url":"https://api.github.com/users/lins05/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lins05/subscriptions","organizations_url":"https://api.github.com/users/lins05/orgs","repos_url":"https://api.github.com/users/lins05/repos","events_url":"https://api.github.com/users/lins05/events{/privacy}","received_events_url":"https://api.github.com/users/lins05/received_events","type":"User","site_admin":false},"body":"所有的 `links` 列表的元素都是 `mThumbLinkAndSeafDirentMap` 这个哈希表的 key, `links` 这个列表需要单独一个变量吗？","created_at":"2015-05-18T03:08:17Z","updated_at":"2015-05-18T03:08:17Z","html_url":"https://github.com/haiwen/seadroid/pull/323#discussion_r30479636","pull_request_url":"https://api.github.com/repos/haiwen/seadroid/pulls/323","_links":{"self":{"href":"https://api.github.com/repos/haiwen/seadroid/pulls/comments/30479636"},"html":{"href":"https://github.com/haiwen/seadroid/pull/323#discussion_r30479636"},"pull_request":{"href":"https://api.github.com/repos/haiwen/seadroid/pulls/323"}}},"pull_request":{"url":"https://api.github.com/repos/haiwen/seadroid/pulls/323","id":33097177,"html_url":"https://github.com/haiwen/seadroid/pull/323","diff_url":"https://github.com/haiwen/seadroid/pull/323.diff","patch_url":"https://github.com/haiwen/seadroid/pull/323.patch","issue_url":"https://api.github.com/repos/haiwen/seadroid/issues/323","number":323,"state":"open","locked":false,"title":"support gallery like way to browse photos","user":{"login":"Logan676","id":2975850,"avatar_url":"https://avatars.githubusercontent.com/u/2975850?v=3","gravatar_id":"","url":"https://api.github.com/users/Logan676","html_url":"https://github.com/Logan676","followers_url":"https://api.github.com/users/Logan676/followers","following_url":"https://api.github.com/users/Logan676/following{/other_user}","gists_url":"https://api.github.com/users/Logan676/gists{/gist_id}","starred_url":"https://api.github.com/users/Logan676/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Logan676/subscriptions","organizations_url":"https://api.github.com/users/Logan676/orgs","repos_url":"https://api.github.com/users/Logan676/repos","events_url":"https://api.github.com/users/Logan676/events{/privacy}","received_events_url":"https://api.github.com/users/Logan676/received_events","type":"User","site_admin":false},"body":"1. Out of the box zooming, using multi-touch and double-tap\r\n2. Scrolling, with smooth scrolling fling\r\n3. Browse both local or remote photos\r\n4. Support both portrait and landscape screens\r\n5. single tap to close gallery\r\n6. delete\r\n7. star a photo\r\n8. share a photo to others\r\n\r\nThanks to \r\n[chrisbanes](https://github.com/chrisbanes) of his [Photoview library](https://github.com/chrisbanes/PhotoView) \r\nand\r\n [qii](https://github.com/qii) of his [ZoomOutPageTransformer](https://github.com/qii/weiciyuan/blob/f7c41bcd5129c9bda096ab08d910a9955407696d/src/org/qii/weiciyuan/support/gallery/ZoomOutPageTransformer.java)","created_at":"2015-04-11T03:51:37Z","updated_at":"2015-05-18T03:08:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"22e608ab99adcfdc37d2a6e59a88e1cd6d3f49af","assignee":null,"milestone":{"url":"https://api.github.com/repos/haiwen/seadroid/milestones/10","html_url":"https://github.com/haiwen/seadroid/milestones/1.7","labels_url":"https://api.github.com/repos/haiwen/seadroid/milestones/10/labels","id":1020028,"number":10,"title":"1.7","description":"","creator":{"login":"Logan676","id":2975850,"avatar_url":"https://avatars.githubusercontent.com/u/2975850?v=3","gravatar_id":"","url":"https://api.github.com/users/Logan676","html_url":"https://github.com/Logan676","followers_url":"https://api.github.com/users/Logan676/followers","following_url":"https://api.github.com/users/Logan676/following{/other_user}","gists_url":"https://api.github.com/users/Logan676/gists{/gist_id}","starred_url":"https://api.github.com/users/Logan676/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Logan676/subscriptions","organizations_url":"https://api.github.com/users/Logan676/orgs","repos_url":"https://api.github.com/users/Logan676/repos","events_url":"https://api.github.com/users/Logan676/events{/privacy}","received_events_url":"https://api.github.com/users/Logan676/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":5,"state":"open","created_at":"2015-03-13T09:53:08Z","updated_at":"2015-05-15T05:22:40Z","due_on":"2015-07-23T16:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/haiwen/seadroid/pulls/323/commits","review_comments_url":"https://api.github.com/repos/haiwen/seadroid/pulls/323/comments","review_comment_url":"https://api.github.com/repos/haiwen/seadroid/pulls/comments{/number}","comments_url":"https://api.github.com/repos/haiwen/seadroid/issues/323/comments","statuses_url":"https://api.github.com/repos/haiwen/seadroid/statuses/1e613498a29ea5b740da225d3488d7af3c8ac1b4","head":{"label":"Logan676:gallery_way_browsing_photos","ref":"gallery_way_browsing_photos","sha":"1e613498a29ea5b740da225d3488d7af3c8ac1b4","user":{"login":"Logan676","id":2975850,"avatar_url":"https://avatars.githubusercontent.com/u/2975850?v=3","gravatar_id":"","url":"https://api.github.com/users/Logan676","html_url":"https://github.com/Logan676","followers_url":"https://api.github.com/users/Logan676/followers","following_url":"https://api.github.com/users/Logan676/following{/other_user}","gists_url":"https://api.github.com/users/Logan676/gists{/gist_id}","starred_url":"https://api.github.com/users/Logan676/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Logan676/subscriptions","organizations_url":"https://api.github.com/users/Logan676/orgs","repos_url":"https://api.github.com/users/Logan676/repos","events_url":"https://api.github.com/users/Logan676/events{/privacy}","received_events_url":"https://api.github.com/users/Logan676/received_events","type":"User","site_admin":false},"repo":{"id":22007187,"name":"seadroid","full_name":"Logan676/seadroid","owner":{"login":"Logan676","id":2975850,"avatar_url":"https://avatars.githubusercontent.com/u/2975850?v=3","gravatar_id":"","url":"https://api.github.com/users/Logan676","html_url":"https://github.com/Logan676","followers_url":"https://api.github.com/users/Logan676/followers","following_url":"https://api.github.com/users/Logan676/following{/other_user}","gists_url":"https://api.github.com/users/Logan676/gists{/gist_id}","starred_url":"https://api.github.com/users/Logan676/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Logan676/subscriptions","organizations_url":"https://api.github.com/users/Logan676/orgs","repos_url":"https://api.github.com/users/Logan676/repos","events_url":"https://api.github.com/users/Logan676/events{/privacy}","received_events_url":"https://api.github.com/users/Logan676/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Logan676/seadroid","description":"Android client for Seafile","fork":true,"url":"https://api.github.com/repos/Logan676/seadroid","forks_url":"https://api.github.com/repos/Logan676/seadroid/forks","keys_url":"https://api.github.com/repos/Logan676/seadroid/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Logan676/seadroid/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Logan676/seadroid/teams","hooks_url":"https://api.github.com/repos/Logan676/seadroid/hooks","issue_events_url":"https://api.github.com/repos/Logan676/seadroid/issues/events{/number}","events_url":"https://api.github.com/repos/Logan676/seadroid/events","assignees_url":"https://api.github.com/repos/Logan676/seadroid/assignees{/user}","branches_url":"https://api.github.com/repos/Logan676/seadroid/branches{/branch}","tags_url":"https://api.github.com/repos/Logan676/seadroid/tags","blobs_url":"https://api.github.com/repos/Logan676/seadroid/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Logan676/seadroid/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Logan676/seadroid/git/refs{/sha}","trees_url":"https://api.github.com/repos/Logan676/seadroid/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Logan676/seadroid/statuses/{sha}","languages_url":"https://api.github.com/repos/Logan676/seadroid/languages","stargazers_url":"https://api.github.com/repos/Logan676/seadroid/stargazers","contributors_url":"https://api.github.com/repos/Logan676/seadroid/contributors","subscribers_url":"https://api.github.com/repos/Logan676/seadroid/subscribers","subscription_url":"https://api.github.com/repos/Logan676/seadroid/subscription","commits_url":"https://api.github.com/repos/Logan676/seadroid/commits{/sha}","git_commits_url":"https://api.github.com/repos/Logan676/seadroid/git/commits{/sha}","comments_url":"https://api.github.com/repos/Logan676/seadroid/comments{/number}","issue_comment_url":"https://api.github.com/repos/Logan676/seadroid/issues/comments{/number}","contents_url":"https://api.github.com/repos/Logan676/seadroid/contents/{+path}","compare_url":"https://api.github.com/repos/Logan676/seadroid/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Logan676/seadroid/merges","archive_url":"https://api.github.com/repos/Logan676/seadroid/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Logan676/seadroid/downloads","issues_url":"https://api.github.com/repos/Logan676/seadroid/issues{/number}","pulls_url":"https://api.github.com/repos/Logan676/seadroid/pulls{/number}","milestones_url":"https://api.github.com/repos/Logan676/seadroid/milestones{/number}","notifications_url":"https://api.github.com/repos/Logan676/seadroid/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Logan676/seadroid/labels{/name}","releases_url":"https://api.github.com/repos/Logan676/seadroid/releases{/id}","created_at":"2014-07-19T10:17:30Z","updated_at":"2015-03-27T01:50:30Z","pushed_at":"2015-05-18T02:45:25Z","git_url":"git://github.com/Logan676/seadroid.git","ssh_url":"git@github.com:Logan676/seadroid.git","clone_url":"https://github.com/Logan676/seadroid.git","svn_url":"https://github.com/Logan676/seadroid","homepage":null,"size":9031,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"haiwen:develop","ref":"develop","sha":"84b89a5bd29f2f26af8cdd9c7fd1aa9e564ac725","user":{"login":"haiwen","id":1948782,"avatar_url":"https://avatars.githubusercontent.com/u/1948782?v=3","gravatar_id":"","url":"https://api.github.com/users/haiwen","html_url":"https://github.com/haiwen","followers_url":"https://api.github.com/users/haiwen/followers","following_url":"https://api.github.com/users/haiwen/following{/other_user}","gists_url":"https://api.github.com/users/haiwen/gists{/gist_id}","starred_url":"https://api.github.com/users/haiwen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haiwen/subscriptions","organizations_url":"https://api.github.com/users/haiwen/orgs","repos_url":"https://api.github.com/users/haiwen/repos","events_url":"https://api.github.com/users/haiwen/events{/privacy}","received_events_url":"https://api.github.com/users/haiwen/received_events","type":"Organization","site_admin":false},"repo":{"id":6900541,"name":"seadroid","full_name":"haiwen/seadroid","owner":{"login":"haiwen","id":1948782,"avatar_url":"https://avatars.githubusercontent.com/u/1948782?v=3","gravatar_id":"","url":"https://api.github.com/users/haiwen","html_url":"https://github.com/haiwen","followers_url":"https://api.github.com/users/haiwen/followers","following_url":"https://api.github.com/users/haiwen/following{/other_user}","gists_url":"https://api.github.com/users/haiwen/gists{/gist_id}","starred_url":"https://api.github.com/users/haiwen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haiwen/subscriptions","organizations_url":"https://api.github.com/users/haiwen/orgs","repos_url":"https://api.github.com/users/haiwen/repos","events_url":"https://api.github.com/users/haiwen/events{/privacy}","received_events_url":"https://api.github.com/users/haiwen/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/haiwen/seadroid","description":"Android client for Seafile","fork":false,"url":"https://api.github.com/repos/haiwen/seadroid","forks_url":"https://api.github.com/repos/haiwen/seadroid/forks","keys_url":"https://api.github.com/repos/haiwen/seadroid/keys{/key_id}","collaborators_url":"https://api.github.com/repos/haiwen/seadroid/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/haiwen/seadroid/teams","hooks_url":"https://api.github.com/repos/haiwen/seadroid/hooks","issue_events_url":"https://api.github.com/repos/haiwen/seadroid/issues/events{/number}","events_url":"https://api.github.com/repos/haiwen/seadroid/events","assignees_url":"https://api.github.com/repos/haiwen/seadroid/assignees{/user}","branches_url":"https://api.github.com/repos/haiwen/seadroid/branches{/branch}","tags_url":"https://api.github.com/repos/haiwen/seadroid/tags","blobs_url":"https://api.github.com/repos/haiwen/seadroid/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/haiwen/seadroid/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/haiwen/seadroid/git/refs{/sha}","trees_url":"https://api.github.com/repos/haiwen/seadroid/git/trees{/sha}","statuses_url":"https://api.github.com/repos/haiwen/seadroid/statuses/{sha}","languages_url":"https://api.github.com/repos/haiwen/seadroid/languages","stargazers_url":"https://api.github.com/repos/haiwen/seadroid/stargazers","contributors_url":"https://api.github.com/repos/haiwen/seadroid/contributors","subscribers_url":"https://api.github.com/repos/haiwen/seadroid/subscribers","subscription_url":"https://api.github.com/repos/haiwen/seadroid/subscription","commits_url":"https://api.github.com/repos/haiwen/seadroid/commits{/sha}","git_commits_url":"https://api.github.com/repos/haiwen/seadroid/git/commits{/sha}","comments_url":"https://api.github.com/repos/haiwen/seadroid/comments{/number}","issue_comment_url":"https://api.github.com/repos/haiwen/seadroid/issues/comments{/number}","contents_url":"https://api.github.com/repos/haiwen/seadroid/contents/{+path}","compare_url":"https://api.github.com/repos/haiwen/seadroid/compare/{base}...{head}","merges_url":"https://api.github.com/repos/haiwen/seadroid/merges","archive_url":"https://api.github.com/repos/haiwen/seadroid/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/haiwen/seadroid/downloads","issues_url":"https://api.github.com/repos/haiwen/seadroid/issues{/number}","pulls_url":"https://api.github.com/repos/haiwen/seadroid/pulls{/number}","milestones_url":"https://api.github.com/repos/haiwen/seadroid/milestones{/number}","notifications_url":"https://api.github.com/repos/haiwen/seadroid/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/haiwen/seadroid/labels{/name}","releases_url":"https://api.github.com/repos/haiwen/seadroid/releases{/id}","created_at":"2012-11-28T10:54:37Z","updated_at":"2015-05-18T01:54:23Z","pushed_at":"2015-05-18T02:45:25Z","git_url":"git://github.com/haiwen/seadroid.git","ssh_url":"git@github.com:haiwen/seadroid.git","clone_url":"https://github.com/haiwen/seadroid.git","svn_url":"https://github.com/haiwen/seadroid","homepage":null,"size":12330,"stargazers_count":147,"watchers_count":147,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":109,"mirror_url":null,"open_issues_count":40,"forks":109,"open_issues":40,"watchers":147,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/haiwen/seadroid/pulls/323"},"html":{"href":"https://github.com/haiwen/seadroid/pull/323"},"issue":{"href":"https://api.github.com/repos/haiwen/seadroid/issues/323"},"comments":{"href":"https://api.github.com/repos/haiwen/seadroid/issues/323/comments"},"review_comments":{"href":"https://api.github.com/repos/haiwen/seadroid/pulls/323/comments"},"review_comment":{"href":"https://api.github.com/repos/haiwen/seadroid/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/haiwen/seadroid/pulls/323/commits"},"statuses":{"href":"https://api.github.com/repos/haiwen/seadroid/statuses/1e613498a29ea5b740da225d3488d7af3c8ac1b4"}}}}