This project is deprecated! Feel free to DM me or open an issue if you want to try and revive it

Overview

Hubble Gallery (DEPRECATED)

Discover and read about the Hubble Telescope's best images.

icon


Google Play listing →

Maintained by derekcsm

Contributions by:

General code style

  • use 2 space indents and 4 space continuation indents for Java and Kotlin, and 2 space for indents & continuation in XML, we're slowing moving to that
  • try your best not to exceed horizontal line length
  • don't include "created by" or any other tags at top of classes, if you find any please remove them

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Copyright violation

    Copyright violation

    Hi @derekcsm

    I found this app and also this one on the Google Play Store. This guy just took the source code and put it on the Store, without warning this is free software, and one of them added ads...

    As you are the owner of the source code, feel free to open a request to google here for each one, to remove them from the Store, if it's your wish ;)

    Don't forget to tell Google that:

    • The app is licensed under Apache license and this guy is violating it;
    • He is falsely claiming he made the app...
    opened by Poussinou 9
  • Changed GridView to RecyclerView in FragMain

    Changed GridView to RecyclerView in FragMain

    This changes the gridview implementation to a RecyclerView. I also reformatted the whole project to match the code style.

    I tested it on API 16 and 23 and the app seems to work normally but do give it a check :octopus:

    opened by ValaDG 3
  • Create strings.xml for french translation

    Create strings.xml for french translation

    I have changed the name of the app into "Gallerie Hubble" in this translation ;) very amazing app :) Look for mistakes, if I missed them, ask me and I'll correct them (sorry for my english)

    opened by Poussinou 2
  • Rotating screen in details doesn't restore the toolbar.

    Rotating screen in details doesn't restore the toolbar.

    Rotating in the details causes the toolbar to do some weird stuff. I assume it's not being restored. Upon scrolling it corrects itself.

    Included a screenshot of what happens. Scrolling causes it to restore alpha and colour.

    image

    opened by quinnjn 2
  • move GridView to RecyclerView & refactor spacing

    move GridView to RecyclerView & refactor spacing

    Hei! Thank you for giving me that feedback, as you can see, the newb vibe is strong. I'll surely keep it mind, and i'll look into Kotlin :D

    The reason why the commit is so big is because i committed the refactoring and the code styling together, my mistake :C.

    opened by ValaDG 1
  • Dev 1.5.1 [quick fix]

    Dev 1.5.1 [quick fix]

    This is a quick fix release PR

    • FIX images/descriptions weren't loading due to hubblesite updating some things that the app relied on, I've moved the app over to use hubble.stsci.edu for now as a temporary fix. In the long run the app will move over to using the JSON API so as not to run into issues like this again.
    • NEW German/French translations thanks @twckr and @Poussinou
    opened by derekcsm 0
  • New navigation drawer implementation w/ Kotlin

    New navigation drawer implementation w/ Kotlin

    Among other large project structure improvements and refactor changes, the navigation drawer was re-vamped to be less "crashy" by using the ExpandableRecyclerView library.

    This PR is just the tip of the ice berg in terms of Kotlin adoption, I'm planning on moving the entire project over eventually.

    opened by derekcsm 0
  • add About Dialog

    add About Dialog

    Adds new about dialog with a short descriptive writeup about the app w/ links. This also adds a place to showcase contributors as they come in the future.

    / refactoring edits, remove unused classes

    opened by derekcsm 0
  • Add section selection navigation

    Add section selection navigation

    Note: there is no "selected" UI state on expandable RecyclerView items

    This PR moves ActMain to Kotlin, and connects the selectSection interface from FragNavDrawer, replacing Instance which was terrible. Some main things are commented out or just straight up not working in this branch and will be fixed in subsequent PRs.

    opened by derekcsm 0
  • Fix Gradle set up for Kotlin

    Fix Gradle set up for Kotlin

    The app was previously using Retrolambda which is fine, but unfortunately not compatible in a project that also uses Kotlin (actually this makes sense). This PR removes Retrolambda, and seriously cleans up the build.gradle files.

    This also fixes some srgb png profile issues w/ resources, and puts the launcher icons into mipmap folders.

    NOTE: Multidex is likely unnecessary & will be removed, trying my best to keep under 60k

    opened by derekcsm 0
  • 1.2.5

    1.2.5

    • New image viewer implementation
    • Details view design improvements
    • Plenty of refactoring and misc improvements (shoutout to @bvasiljevic for helping out)
    • New dagger implementation and begun moving Activities and Fragments to MVP (WIP)
    • resources folder structure cleanup
    opened by derekcsm 0
  • Hubble app for android

    Hubble app for android

    Used to work. Now "no internet connection" "RELOAD". Fails on multiple devices, via wifi or mobile ph. cell. Pls fix & i will donate as soon as employed!! Thanks.

    opened by qtron 0
  • Handle heritage.stci.edu news url links

    Handle heritage.stci.edu news url links

    I/GetDetails: newsUrl http://heritage.stsci.edu/2006/46/
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err: java.net.UnknownHostException: Unable to resolve host "hubblesite.orghttp": No address associated with hostname
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at java.net.InetAddress.lookupHostByName(InetAddress.java:470)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at java.net.InetAddress.getAllByName(InetAddress.java:215)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:188)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:157)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:100)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:357)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:340)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
    12-28 16:00:30.218 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:437)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:114)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:449)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:434)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:181)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at org.jsoup.helper.HttpConnection.get(HttpConnection.java:170)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.derek_s.hubble_gallery.api.GetDetails.doInBackground(GetDetails.java:65)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at com.derek_s.hubble_gallery.api.GetDetails.doInBackground(GetDetails.java:18)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:295)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err:     at java.lang.Thread.run(Thread.java:818)
    12-28 16:00:30.219 4715-4753/com.derek_s.hubble_gallery W/System.err: Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
    12-28 16:00:30.220 4715-4753/com.derek_s.hubble_gallery W/System.err:     at libcore.io.Posix.android_getaddrinfo(Native Method)
    12-28 16:00:30.220 4715-4753/com.derek_s.hubble_gallery W/System.err:     at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:55)
    12-28 16:00:30.220 4715-4753/com.derek_s.hubble_gallery W/System.err:     at java.net.InetAddress.lookupHostByName(InetAddress.java:451)
    12-28 16:00:30.220 4715-4753/com.derek_s.hubble_gallery W/System.err:   ... 24 more
    
    bug 
    opened by derekcsm 0
Releases(1.5.1)
  • 1.5.1(Dec 28, 2016)

    • FIX images/descriptions weren't loading due to hubblesite updating some things that the app relied on, I've moved the app over to use hubble.stsci.edu for now as a temporary fix. In the long run the app will move over to using the JSON API so as not to run into issues like this again.
    • NEW German/French translations thanks @twckr and @Poussinou
    Source code(tar.gz)
    Source code(zip)
    hubble_prod_1.5.1.apk(4.10 MB)
  • 1.5.0(May 4, 2016)

    • Tore down and re-built the navigation drawer, fixing lots of bugs related to old implementation along the way
    • Small design tweaks
    • Misc small bug fixes

    Some technical notes: The project is moving to Kotlin! at the time of this release a little over 17% of code in the app is written in Kotlin, the goal is to get to around 90% eventually. If you're an Android dev interested in learning a new language consider contributing https://github.com/derekcsm/hubble_gallery

    Source code(tar.gz)
    Source code(zip)
    hubble_prod_1.5.0_may3.apk(4.14 MB)
  • 1.2.5(Dec 29, 2015)

  • 1.0.1(Jun 7, 2015)

Owner
Derek
Derek
A lightweight, good expandability Android library used for displaying different pages like loading, error, empty, timeout or even your custom page when you load a page

中文 | English LoadSir ?? ?? LoadSir是一个高效易用,低碳环保,扩展性良好的加载反馈页管理框架,在加载网络或其他数据时候,根据需求切换状态页面, 可添加自定义状态页面,如加载中,加载失败,无数据,网络超时,如占位图,登录失效等常用页面。可配合网络加载框架,结合返回 状态

KingJA 3.3k Dec 21, 2022
Create kotlin android project with one line of command.

README This is an android application template project built with kotlin language and some useful libraries. It provides a creator script to quickly c

nekocode 1.6k Dec 20, 2022
Pet project using Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components. The data are fetched from LondonTheatreDirect API. 🎭

Theatre Pet project using Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components. The data is fetched from LondonTheatreDir

André Mion 646 Jan 9, 2023
Create kotlin android project with one line of command.

README This is an android application template project built with kotlin language and some useful libraries. It provides a creator script to quickly c

nekocode 1.6k Dec 20, 2022
The most complete and powerful data-binding library and persistence infra for Kotlin 1.3, Android & Splitties Views DSL, JavaFX & TornadoFX, JSON, JDBC & SQLite, SharedPreferences.

Lychee (ex. reactive-properties) Lychee is a library to rule all the data. ToC Approach to declaring data Properties Other data-binding libraries Prop

Mike 112 Dec 9, 2022
VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS team, which is intended to speed up the first screen of websites working on Android and iOS platform.

VasSonic: A Lightweight And High-performance Hybrid Framework VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS

Tencent 11.6k Dec 30, 2022
Android common lib, include ImageCache, HttpCache, DropDownListView, DownloadManager, Utils and so on

android-common-lib 关于我,欢迎关注 微博:Trinea 主页:trinea.cn 邮箱:trinea.cn#gmail.com 微信:codek2 主要包括:缓存(图片缓存、预取缓存、网络缓存)、公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、

Trinea 5k Dec 30, 2022
A Job Queue specifically written for Android to easily schedule jobs (tasks) that run in the background, improving UX and application stability.

This Project is Deprecated! Thanks to everybody who've used Android Priority JobQueue. It was designed in a world where there was no JobScheduler, RxJ

Yigit Boyar 3.4k Dec 31, 2022
🚀Plugin for Android Studio And IntelliJ Idea to generate Kotlin data class code from JSON text ( Json to Kotlin )

JsonToKotlinClass Hi, Welcome! This is a plugin to generate Kotlin data class from JSON string, in another word, a plugin that converts JSON string to

Seal 2.8k Jan 3, 2023
Android app built with MVP architectural approach and uses Marvel Comics API that allows developers everywhere to access information about Marvel's vast library of comics. :zap:

Villains & Heroes Android app built with MVP architectural approach and uses Marvel Comics API that allows developers everywhere to access information

André Mion 53 Jul 13, 2022
kotlin-core - A full framework for making Android apps. Based on Anko and Kotson.

kotlin-core This package is not Android-specific, and can be used across platforms. However, for a good example of use in Android, take a look at kotl

Lightning Kite 36 Oct 3, 2022
Add new features for reverse engineering, such as: renaming of classes, fields, methods, variables, reference graphs and more.

Super JADX features Add new features for reverse engineering, such as: renaming of classes, fields, methods, variables, reference graphs and more. bas

null 284 Dec 28, 2022
You don’t want your apps look and feel boring, do you? Add some bubbles!

#BubbleAnimationLayout Say hello to Bubble Animation Layout for Android by Cleveroad You don’t want your apps look and feel boring, do you? Add some b

Cleveroad 576 Nov 23, 2022
Paint-me Is a simple painting app. Feel free to show your artistic talent on the wide canvas provided!

Kicking Off Hacktoberfest with ACM-VIT! PaintMe PaintMe Is a simple one screen-canvas painting app. Feel free to show your artistic talent on the wide

ACM VIT 3 Oct 31, 2022
Ehya-android - This application displays the deserted Sunan for us to revive them.

Ehya | إحياء Available on Google Play Libraries Jetpack Compose for the UI. Compose Navigation. Compose Animation. Room for the data persistence. Work

Maryam Alhuthayfi 23 Dec 9, 2022
ComposeTextBug - Issue with MotionLayout+Compose in Text functionality

ComposeTextBug Issue with MotionLayout+Compose in Text functionality Demo: devic

Yahor 0 Jan 12, 2022
Demonstration of an issue trying to render a preview in Jetpack Compose without the activity artifact.

Demonstration of an issue trying to render a preview in Jetpack Compose without the activity artifact.

Adam McNeilly 1 Mar 14, 2022
****. Use the native and support library variants instead - https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html. An android library that makes it easy to add custom fonts to edittexts and textviews

Add to your project Add this line to your dependencies in build.gradle compile 'in.workarounds.typography:typography:0.0.8' Using the views There are

Workarounds 43 Nov 6, 2021
Silver is a programming language designed to have the look and feel of python combined with the simplicity and efficiency of C, combined with a rich plugin system for extending the capabilities of the language

Silver Programming Language Silver is a programming language designed to resemble Python with some C features, packed with a rich plugin system. Contr

Silver Software 4 Jul 23, 2022
A movie application where you can search a movie that you want and see the detail of movie

MovieApp This is a simple movie application where you can search a movie that you want and see the detail of movie Technologies Hilt (Dependency Injec

Serhad Mert 5 Nov 30, 2021