Convert Figma logo to code with AI

pockethub logoPocketHub

PocketHub Android App

9,389
3,461
9,389
126

Top Related Projects

3,805

:phone: The ownCloud Android App

K-9 Mail – Open Source Email App for Android

1,781

Slide is an open-source, ad-free Reddit browser for Android.

31,014

A libre lightweight streaming front-end for Android.

Simplenote for Android

Quick Overview

PocketHub is an open-source Android application for GitHub, providing a mobile interface for managing repositories, issues, and pull requests. It offers a user-friendly way to interact with GitHub on-the-go, allowing users to stay connected with their projects and collaborators from their Android devices.

Pros

  • Native Android app with a clean, intuitive interface
  • Supports core GitHub features like repository management, issue tracking, and pull request reviews
  • Open-source project, allowing community contributions and customizations
  • Regular updates and maintenance by the community

Cons

  • Limited feature set compared to the full GitHub web interface
  • May not support some advanced GitHub features or integrations
  • Potential for slower updates compared to official GitHub mobile apps
  • Requires separate authentication and setup from official GitHub mobile apps

Getting Started

To get started with PocketHub:

  1. Clone the repository:

    git clone https://github.com/pockethub/PocketHub.git
    
  2. Open the project in Android Studio.

  3. Build and run the app on your Android device or emulator.

  4. Log in with your GitHub credentials to start using PocketHub.

Note: As PocketHub is an Android application and not a code library, there are no code examples to provide. The project itself is the codebase for the Android app.

Competitor Comparisons

3,805

:phone: The ownCloud Android App

Pros of owncloud/android

  • Focused on cloud storage and file synchronization, providing a more specialized and comprehensive solution for these tasks
  • Offers integration with ownCloud servers, allowing users to set up their own private cloud infrastructure
  • Supports a wider range of file operations, including sharing, moving, and editing documents

Cons of owncloud/android

  • Less active community and fewer contributors compared to PocketHub
  • More complex setup process, especially for users who want to host their own ownCloud server
  • Limited integration with third-party services and apps

Code Comparison

owncloud/android (File upload):

private void uploadFile(OCFile file) {
    Intent service = new Intent(this, FileUploader.class);
    service.putExtra(FileUploader.KEY_ACCOUNT, mAccount);
    service.putExtra(FileUploader.KEY_FILE, file);
    startService(service);
}

PocketHub (Repository listing):

private void loadRepositories() {
    service.getRepositories(user.login())
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(repositories -> {
            adapter.setItems(repositories);
        });
}

The code snippets demonstrate the different focus areas of each project. owncloud/android emphasizes file operations, while PocketHub concentrates on GitHub-specific functionalities like repository management.

K-9 Mail – Open Source Email App for Android

Pros of Thunderbird-Android

  • More active development with frequent updates and commits
  • Broader feature set, including email, calendar, and contacts management
  • Larger community and user base, potentially leading to better support and resources

Cons of Thunderbird-Android

  • More complex codebase due to its wider range of features
  • Steeper learning curve for new contributors
  • Potentially slower performance on older devices due to its comprehensive functionality

Code Comparison

Thunderbird-Android (Kotlin):

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    binding = FragmentMessageListBinding.inflate(inflater, container, false)
    return binding.root
}

PocketHub (Java):

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_message_list, container, false);
}

The code snippets show a difference in language (Kotlin vs Java) and view binding approach. Thunderbird-Android uses view binding, which is more type-safe and efficient, while PocketHub uses the traditional inflate method.

1,781

Slide is an open-source, ad-free Reddit browser for Android.

Pros of Slide

  • More active development with recent commits and releases
  • Broader feature set for Reddit browsing, including multi-account support
  • Customizable UI with themes and layout options

Cons of Slide

  • Larger codebase, potentially more complex to maintain
  • Focused solely on Reddit, while PocketHub is for GitHub

Code Comparison

Slide (Java):

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_slide);
    ButterKnife.bind(this);
    setupAppBar(R.id.toolbar, R.string.app_name, true);
}

PocketHub (Kotlin):

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    setSupportActionBar(toolbar)
    supportActionBar?.setDisplayHomeAsUpEnabled(true)
}

Both repositories use Android's activity lifecycle methods, but Slide uses ButterKnife for view binding, while PocketHub uses Kotlin's synthetic properties. Slide also includes a custom app bar setup method, indicating more complex UI customization.

31,014

A libre lightweight streaming front-end for Android.

Pros of NewPipe

  • Focuses on privacy and ad-free experience for YouTube content
  • Supports background playback and downloading of videos
  • Lightweight and doesn't require Google Play Services

Cons of NewPipe

  • Limited to YouTube-related features, not a full GitHub client
  • May require more frequent updates due to YouTube API changes
  • Less integrated with GitHub ecosystem

Code Comparison

NewPipe (Java):

@Override
protected void onLoadFinished() {
    if (currentInfo == null) {
        return;
    }
    super.onLoadFinished();
}

PocketHub (Java):

@Override
public void onLoadFinished(Loader<List<User>> loader, List<User> data) {
    super.onLoadFinished(loader, data);
    if (data == null) {
        return;
    }
}

Both projects use Java and implement similar loading patterns, but NewPipe focuses on video content handling while PocketHub deals with GitHub-specific data structures. NewPipe's codebase is more oriented towards media playback and streaming, while PocketHub emphasizes GitHub API integration and repository management features.

PocketHub provides a more comprehensive GitHub mobile experience, including repository browsing, issue tracking, and code viewing. NewPipe, on the other hand, excels in providing a privacy-focused, feature-rich YouTube client with additional functionality not available in the official app.

Simplenote for Android

Pros of Simplenote-android

  • More active development with recent commits and releases
  • Cleaner and more modern UI design
  • Better documentation and contribution guidelines

Cons of Simplenote-android

  • Limited to note-taking functionality, less feature-rich than PocketHub
  • Smaller community and fewer contributors

Code Comparison

Simplenote-android (Kotlin):

class NoteListFragment : Fragment() {
    private lateinit var viewModel: NoteListViewModel
    private lateinit var adapter: NoteListAdapter

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        return inflater.inflate(R.layout.fragment_note_list, container, false)
    }
}

PocketHub (Java):

public class RepositoryListFragment extends PagedItemFragment<Repository> {
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        setEmptyText(R.string.no_repositories);
    }
}

The code comparison shows that Simplenote-android uses Kotlin, a more modern language for Android development, while PocketHub uses Java. Simplenote-android's code appears more concise and follows current Android development practices. PocketHub's code, while functional, reflects an older style of Android development.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

PocketHub Build Status Get it on Google Play

This repository contains the source code for the PocketHub Android app.

This is the same repository as the now-defunct official GitHub Android app.

What's going on here?

What happened to the old app?

GitHub didn't want to maintain the app anymore, so it's been released to the community and maintained as a public project. We are actively working towards a re-release to the Play Store, and this app will be the spiritual successor to the original GitHub app.

What's PocketHub?

A name we decided that sounded good. We're a team of a few people helping organizing and prepare this.

What about the other forks out there?

They'll remain forks. Obviously we'd prefer them to focus on improving this project, but otherwise we're not coordinating anything with them.

What's the immediate plan?

We're shooting for an initial re-release just to get the app out there. There have been a significant number of changes since the app was last updated, with many functional and design changes that we need to make sure are good to go.

What's the less-immediate plan?

After the initial release, we'll start working on giving this app a proper refresh. Much of the UI has already been touched up with elements of Material Design, but we have a long ways to go. Android has changed a lot since this was actively developed, and it's time we take advantage of those changes.

How can I help?

Please see the issues section to report any bugs or feature requests and to see the list of known issues. We can't promise fast response times since we all have full time jobs of our own, but we will do our best to respond in a timely fashion. If you'd like to contribute, please fork this repository and contribute back using pull requests.

Any contributions, large or small, major features, bug fixes, additional language translations, unit/integration tests are welcomed and appreciated but will be thoroughly reviewed and discussed. Please read CONTRIBUTING.md first!

Setup Environment

  1. Create a GitHub application (https://github.com/settings/applications/new)
  2. Set the following gradle properties via one of the ways described here:
  • pockethub_github_client=your_application_client_id
  • pockethub_github_secret=your_application_client_secret
  • pockethub_github_callback=your_callback_url

Callback URL

  • The callback URL needs to be in the format your_schema://whatever_you_want
  • Use a custom schema like myawesomeschema (not http or https)
  • The schema must be lowercase (Reference)

Legacy Notes

If you had a current installation of the Github App installed and then enabled 2FA (2 Factor Authentication), then you must delete the Personal Access Token (PAT) from your configuration (via the web interface). A thanks to @landstander668 for posting this workaround.

License