Udacity android nanodegree p7

Overview

Predator for ProductHunt

Google play Production badge Google play Beta badge Rating badge Build Status

Predator is a minimalistic client for ProductHunt. It shows latest products and collections fetched via ProductHunt api. It also offers other information like media and comments associated with that product.

Installation instructions

  • Clone this repository using git clone https://github.com/crazyhitty/Capstone-Project.git
  • Create api key and api secret for your project via product hunt api console. Make sure to login first on producthunt.com as the previous link will keep on redirecting you onto the main site until you log in. Also, make sure to put this in redirect uri: predator://com.crazyhitty.chdev.ks.predator/oauth2redirect
  • Add those keys in producthunt-wrapper's build.gradle file:
    debug {
            if (!project.hasProperty("isReleaseBuild") || "$isReleaseBuild" == "false") {
                def apiKey = "\"your_api_key_here\""
                def apiSecret = "\"your_api_secret_here\""
                def searchUrl = "\"\""
                def xAngoliaAgent = "\"\""
                def xAngoliaApplicationId = "\"\""
                def xAngoliaApiKey = "\"\""

                buildConfigField "String", "API_KEY", apiKey
                buildConfigField "String", "API_SECRET", apiSecret
                buildConfigField "String", "SEARCH_URL", searchUrl
                buildConfigField "String", "X_ANGOLIA_AGENT", xAngoliaAgent
                buildConfigField "String", "X_ANGOLIA_APPLICATION_ID", xAngoliaApplicationId
                buildConfigField "String", "X_ANGOLIA_API_KEY", xAngoliaApiKey
            }

            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
  • Now, just hit the run button on your android studio or execute installDebug task to install debug variant of the application.

Features

  • Minimal and simple user interface, which user can get easily acquainted with.
  • View and search through latest posts and collections from ProductHunt.
  • Checkout the media and comments of a particular post and share them with anyone.
  • Sync data in background even if the app is not running, so you can remain up to date with the latest posts and collections (Optional, can be activated via application settings).
  • Notification support.
  • Multiple font support.
  • Delightful animations to encourage the user experience.

Screenshots

alt text alt text

alt text alt text

alt text alt text

alt text alt text

alt text

Contributing

You can contribute to the project by either finding out bugs or by requesting new features.

Community

Google plus

Reddit

License

MIT License

Copyright (c) 2016 Kartik Sharma

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Comments
  • Sort by vote count

    Sort by vote count

    Like your app, but would be much more useful IMO if it sorted the day's PH listings by vote count (highest to lowest) by default.

    Cheers.

    Android 6.0.1, Nexus 5

    enhancement 
    opened by ztalk112 3
  • Sort by upvote

    Sort by upvote

    Latest update intended to add post sorting by upvote has no effect on Nexus 7 tablet (2013) or Nexus 5 phone.

    Default sort order appears to be the same and I don't see any sort options in settings.

    After updating on both devices, I removed/reinstalled with the same result.

    As an aside, it would be nice to be able to see the vote count for each listing in the summary view as shown in this screenshot from Feline for Product Hunt:

    feline for phunt

    opened by ztalk112 2
  • Integrate app linking with product hunt post url and other bug fixes.

    Integrate app linking with product hunt post url and other bug fixes.

    1. Integrate app linking with product hunt post url (ex: https://www.producthunt.com/posts/some-product-name-here).
    2. Fix authentication related bugs happening with AccountManager API.
    3. Provide pinch to zoom support while viewing media in full screen.
    opened by crazyhitty 1
  • Feature improve comments ui

    Feature improve comments ui

    This pull request contains these features:

    1. Add vote count and time ago in comments.
    2. Improve comments ui.
    3. View comment in a separate dialog and add ability to share comment as well as open user profile directly.
    opened by crazyhitty 1
  • Improve comments UI/UX

    Improve comments UI/UX

    Currently, it is way too simple and it's difficult to read in some scenarios. Also, add usernames with comments and ability to view user profile from the comments section.

    enhancement 
    opened by crazyhitty 1
  • Application crashes on pre-nougat devices when sharing a post from post details screen.

    Application crashes on pre-nougat devices when sharing a post from post details screen.

    Application crashes whenever user shares any post from its details screen.

    Exception android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
    android.app.ContextImpl.startActivity (ContextImpl.java:677)
    android.app.ContextImpl.startActivity (ContextImpl.java:664)
    android.content.ContextWrapper.startActivity (ContextWrapper.java:331)
    com.crazyhitty.chdev.ks.predator.core.postDetails.PostDetailsPresenter.sharePostDetails (PostDetailsPresenter.java:550)
    com.crazyhitty.chdev.ks.predator.ui.activities.PostDetailsActivity.onOptionsItemSelected (PostDetailsActivity.java:484)
    android.app.Activity.onMenuItemSelected (Activity.java:2964)
    android.support.v4.app.FragmentActivity.onMenuItemSelected (FragmentActivity.java:408)
    android.support.v7.app.AppCompatActivity.onMenuItemSelected (AppCompatActivity.java:195)
    android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected (WindowCallbackWrapper.java:113)
    android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected (WindowCallbackWrapper.java:113)
    android.support.v7.app.ToolbarActionBar$2.onMenuItemClick (ToolbarActionBar.java:69)
    android.support.v7.widget.Toolbar$1.onMenuItemClick (Toolbar.java:206)
    android.support.v7.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected (ActionMenuView.java:776)
    android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected (MenuBuilder.java:822)
    android.support.v7.view.menu.MenuItemImpl.invoke (MenuItemImpl.java:156)
    android.support.v7.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:969)
    android.support.v7.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:959)
    android.support.v7.widget.ActionMenuView.invokeItem (ActionMenuView.java:623)
    android.support.v7.view.menu.ActionMenuItemView.onClick (ActionMenuItemView.java:154)
    android.view.View.performClick (View.java:5265)
    android.view.View$PerformClick.run (View.java:21534)
    android.os.Handler.handleCallback (Handler.java:815)
    android.os.Handler.dispatchMessage (Handler.java:104)
    android.os.Looper.loop (Looper.java:207)
    android.app.ActivityThread.main (ActivityThread.java:5728)
    java.lang.reflect.Method.invoke (Method.java)
    com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:789)
    com.android.internal.os.ZygoteInit.main (ZygoteInit.java:679)
    

    The crash indicates that the application is starting the sharing intent without FLAG_ACTIVITY_NEW_TASK flag. But the code already has it implemented. Weird bug, I guess. Will try to move sharing functionality from Presenter logic to Activity itself.

    bug 
    opened by crazyhitty 1
  • Show version badges

    Show version badges

    1. For Google play.
    2. For master branch.
    3. For beta branch.

    Use this to create a new badge: http://shields.io/#your-badge


    Example badge code:

    [![Goolgle play badge](https://img.shields.io/badge/Google%20play-v0.36-green.svg)](https://play.google.com/store/apps/details?id=com.crazyhitty.chdev.ks.predator)
    

    Example badge preview: Goolgle play badge

    docs 
    opened by crazyhitty 0
Owner
Kartik Sharma
Software Engineer
Kartik Sharma
NanodegreeLocationRemindersUdemy - Fourth android nanodegree project

Location Reminder A Todo list app with location reminders that remind the user t

Illia Herman 0 Jan 29, 2022
App for lesson 8 of the Android App Development in Kotlin course on Udacity

Connect to the Internet - Mars Real Estate This is the toy app for Lesson 8 of t

Michael Pessoni 1 Dec 28, 2021
The Sleep tracker app for lesson 6 of the Udacity: Developing Android Apps with Kotlin Course

App Architecture-Presistence This is the Sleep tracker app for lesson 6 of the U

null 0 Dec 28, 2021
AboutMe - From Udacity course Developing Android Apps with Kotlin

AboutMe App From Udacity course "Developing Android Apps with Kotlin".

Anas Tariq 1 Feb 11, 2022
Udacity-shoestore - A template provided for use when building your README file for students

README Template Below is a template provided for use when building your README f

Burak Demir 0 Jan 5, 2022
android-delicious Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play.

Delicious Android Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play. Fea

Alexander Blom 137 Nov 20, 2022
Android cutout screen support Android P. Android O support huawei, xiaomi, oppo and vivo.

CutoutScreenSupport Android cutout screen support Android P. Android O support huawei, xiaomi, oppo and vivo. Usage whether the mobile phone is cutout

hacket 5 Nov 3, 2022
FoldingNavigationDrawer-Android This is a sample project present how to use Folding-Android to add Folding Efect to Navigation Drawer.

FoldingNavigationDrawer-Android Sample (Play Store Demo) This is a sample project present how to use Folding-Android to add Folding Efect to Navigatio

null 242 Nov 25, 2022
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Jan 2, 2023
:movie_camera: Movie discovery app showcasing Android best practices with Google's recommended architecture: MVVM + Repository + Offline support + Android Architecture Components + Paging library & Retrofit2.

Popular Movies Stage 1 + Stage 2 Discover the most popular and top rated movies playing. Movies data fetched using themoviedb.org API. ✨ Screenshots M

Yassin AJDI 189 Nov 26, 2022
Extensible Android mobile voice framework: wakeword, ASR, NLU, and TTS. Easily add voice to any Android app!

Spokestack is an all-in-one solution for mobile voice interfaces on Android. It provides every piece of the speech processing puzzle, including voice

Spokestack 57 Nov 20, 2022
Aggregated Android news, articles, podcasts and conferences about Android Development

DroidFeed Curated news feed for Android Developers! Stay up to date with the latest Android Development news. Built for the Android developer communit

Dogan Gulcan 183 Dec 2, 2022
Shreyas Patil 2.1k Dec 30, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
The Android startup used to schedule tasks, jobs while launching Android App.

Android Startup, schedule your startup jobs Introduction AndroidStartup is an open source project used to refine your Andriod App startup. Compared wi

ShouHeng 46 Aug 24, 2022
Android playground project with modularization by feature (android libraries), unit tests, MVVM & MVI.

Movies Movies is a simple project to study and play with some android components, architecture and tools for Android development. Tech Stack This proj

Christopher Elias 333 Dec 30, 2022
🌄 Photo editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and PhotoEditor (Android)

React Native Photo Editor (RNPE) ?? Image editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and Ph

Baron Ha. 242 Dec 28, 2022
Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

MindOrks 1.2k Dec 29, 2022
A simple Android app to demonstrate the use of Hover SDK for M-PESA Send Money while offline. This SDK does not require an internet connection, it automates USSD sessions in the background of an android application.

HoverSDKDemo Hover SDK is an Android SDK that lets mobile developers to add money features to the applications. This SDK does not require an internet

Joel Kanyi 9 Dec 21, 2022