Coder Social home page Coder Social logo

gdg-x / frisbee Goto Github PK

View Code? Open in Web Editor NEW
265.0 36.0 169.0 12.18 MB

[DEPRECATED] Android application for GDG members and organizers

Home Page: https://play.google.com/store/apps/details?id=org.gdg.frisbee.android

License: Apache License 2.0

Java 97.26% HTML 1.99% Shell 0.75%
gdg frisbee alpha-release java android-studio android android-application google-developer-groups crowdin

frisbee's Introduction

Project Frisbee

Powered by GDG[x]

Join the chat at https://gitter.im/gdg-x/frisbee Build Status Crowdin

All GDG content in one place. Project Frisbee is the result of GDG[x]'s coordinated efforts to build an applications that makes it easier to discover Google Developer Group content while being on the go. The GDG App features the Google+ news feed, Upcoming Events and general information on every active chapter listed in the Google Developer Group Directory

Features:

  • GDG Pulse
  • Google Developer Experts Directory
  • Chapter News and Events
  • Upcoming Event Dashclock extension and Widget
  • Featured Special Event Series Section
  • Arrow (Find you fellow organizers worldwide and earn points.)

Frisbee is a community effort and we appreciate the help of everyone who wants to help improve the App:

Become a tester and VIP user by joining the G+ Frisbee community.

Check http://github.com/gdg-x for more information about all development activities around GDGs.

For event organizers

Please read https://github.com/gdg-x/frisbee/wiki/FAQ-for-organizers

Development

Read the Contribution Guidelines.

Read the Development Guide.

When sending pull requests, please make sure to enable EditorConfig in Android Studio -> Settings -> Editor -> Code & Style -> EditorConfig.

Contributors

See list of contributors

Maintainers are listed in MAINTAINERS file.

At least 1 approval is needed by the maintainers for PRs to be merged.

Translation

There are GDG communities all over the world, so we want Frisbee to be available in every language there is. You can help us out. Head over to Crowdin and start translating Frisbee to your language. https://crowdin.com/project/gdgx-frisbee

Release

The project has continuous distribution triggered by Travis CI.

  • Pushing to master branch -> alpha release
  • Pushing to release branch -> beta release

Note: Alpha release is a special build that should not be promoted to beta or production.

release branch is meant to be for production release. It is by default deployed to Beta. After a brief test there, it can be safely promoted to production.

Push triggers a release.

When something is pushed to master or release, after a successful release, it always creates another commit increasing the version number and git tag. It's not necessary to tag manually.

Best Practices

  • Alpha release
    • Just merge develop into master and push to trigger an internal alpha release.
  • Beta/Production release
    • Update release branch to latest develop
    • Increase version number in root build.gradle file
    • Make versionBuild = 0
    • Update app/src/main/play/en-US/whatsnew file for change log in Google Play Store
    • Commit the changes and push
    • After a successful release, merge release branch back into develop
The GDG App, GDG[x] are not endorsed and/or supported by Google, the corporation.

License

© 2013-2015 GDG[x]

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.

frisbee's People

Contributors

apiconz avatar aygul avatar davidvavra avatar douglasdrumond avatar esoxjem avatar fnk0 avatar friedger avatar henriquerocha avatar jerrellmardis avatar jomartigcal avatar joshuawoodward avatar lborie avatar lucasxas avatar mauimauer avatar ouzman avatar ozasadnyy avatar pareshmayani avatar przybylski avatar rciovati avatar samcarecho avatar sebastian-brzuzek avatar seventhmoon avatar shakalaca avatar skyisle avatar snehpandya18 avatar splaktar avatar stefanhoth avatar tasomaniac avatar unstablebrainiac avatar viliuskraujutis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

frisbee's Issues

Crash report: NPE GdgListFragment.updateEmpty

java.lang.NullPointerException
at android.view.animation.AnimationUtils.loadAnimation(animationutils_java:71)
at org.gdg.frisbee.android.fragment.GdgListFragment.updateEmpty(gdglistfragment_java:176)
at org.gdg.frisbee.android.fragment.GdgListFragment.access$000(gdglistfragment_java:43)
at org.gdg.frisbee.android.fragment.GdgListFragment$3.onChanged(gdglistfragment_java:154)
at android.database.DataSetObservable.notifyChanged(datasetobservable_java:37)
at android.widget.BaseAdapter.notifyDataSetChanged(baseadapter_java:50)
at android.widget.ArrayAdapter.notifyDataSetChanged(arrayadapter_java:286)
at android.widget.ArrayAdapter.addAll(arrayadapter_java:198)
at org.gdg.frisbee.android.fragment.ContributorsFragment$1$1.onPutIntoCache(contributorsfragment_java:93)
at org.gdg.frisbee.android.cache.ModelCache$3.onPostExecute(modelcache_java:414)
at org.gdg.frisbee.android.cache.ModelCache$3.onPostExecute(modelcache_java:402)
at android.os.AsyncTask.finish(asynctask_java:631)
at android.os.AsyncTask.access$600(asynctask_java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(asynctask_java:644)
at android.os.Handler.dispatchMessage(handler_java:99)
at android.os.Looper.loop(looper_java:137)
at android.app.ActivityThread.main(activitythread_java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(method_java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(zygoteinit_java:786)
at com.android.internal.os.ZygoteInit.main(zygoteinit_java:553)
at dalvik.system.NativeStart.main(Native Method)

http://gdg-x.hp.af.cm/#/crashreport/dedfc062-db23-4258-b37e-c77b7bd4dd60

Create a ContentProvider

And implement this backend as Provider, this way it can be more consistent with platform and easly extendable.

(original title:Move cache backend to database instead of filesystem)

consistency of loading spinner

The boomerang loading spinner is awesome. The info pane doesn't use the same loading (fading boomerang spinner) as the other two (events, news).

add date / time stamp to News feed items

Please add date / time stamps to the listview for news feed items. Possibly upper right corner of post. It's hard to get distinct titles off of G+ posts, so maybe a date/time stamp could substitute as a separator.

Crashes when launching without network

Version: .6-ALPHA
Device: Galaxy Nexus on CM 10.1.2

The app crashes when launching without a network connection for me. To reproduce, turn off wifi and cellular then launch the app. The app starts, it shows my local GDG in the title but then quits.

Widget: Next Event / Messages

What do you think of adding a widget, showing off the next event with information like "number of people coming", "time to go, before event starts".
Beside that, there could be a message counter, showing messages received by the gdg's page (don't know if it possible, though), click on it and you get right to those messages.

Translation

The app only features a few string and thus it should be translated to as many languages as possible.

Past events

This is an enhancement request ;-)

It would be great to see the past events of my GDG, especially the description could be interesting. Also over the linked Google+ Event the YouTube Link could be fetched.

That would be awesome!

Crash report: Not connected. Call connect() and wait for onConnected() to be called. GamesClient

java_lang_illegalstateexception: Not connected. Call connect() and wait for onConnected() to be called.
at com.google.android.gms.internal.p.n(Unknown Source)
at com.google.android.gms.internal.p.o(Unknown Source)
at com.google.android.gms.internal.bj.b(Unknown Source)
at com.google.android.gms.games.GamesClient.unlockAchievement(Unknown Source)
at org.gdg.frisbee.android.activity.MainActivity$7$1.onGotGamesClient(mainactivity_java:304)
at org.gdg.frisbee.android.utils.PlayServicesHelper.getGamesClient(playserviceshelper_java:252)
at org.gdg.frisbee.android.activity.MainActivity$7.run(mainactivity_java:301)
at android.os.Handler.handleCallback(handler_java:725)
at android.os.Handler.dispatchMessage(handler_java:92)
at android.os.Looper.loop(looper_java:137)
at android.app.ActivityThread.main(activitythread_java:5227)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(method_java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(zygoteinit_java:795)
at com.android.internal.os.ZygoteInit.main(zygoteinit_java:562)
at dalvik.system.NativeStart.main(Native Method)

Show list of DevFests

During devfest season, there should be a separate item in the menu drawer that lists all devfests.

Crash on click share event when not signed-in to G+

java.lang.IllegalStateException: PlusClient must be connected to create an interactive post.
at com.google.android.gms.internal.x.a(Unknown Source)
at com.google.android.gms.plus.PlusShare$Builder.(Unknown Source)
at org.gdg.frisbee.android.fragment.EventFragment.shareOnGplus(EventFragment.java:251)
at org.gdg.frisbee.android.fragment.EventFragment.onClick(EventFragment.java:246)

Crash report: NPE: NewsAdpater

java.lang.NullPointerException
at org.gdg.frisbee.android.adapter.NewsAdapter.populateShare(newsadapter_java:445)
at org.gdg.frisbee.android.adapter.NewsAdapter.getView(newsadapter_java:224)
at android.widget.AbsListView.obtainView(abslistview_java:2255)
at android.widget.ListView.makeAndAddView(listview_java:1769)
at android.widget.ListView.fillDown(listview_java:672)
at android.widget.ListView.fillSpecific(listview_java:1330)
at android.widget.ListView.layoutChildren(listview_java:1600)
at android.widget.AbsListView.onLayout(abslistview_java:2106)
at android.view.View.layout(view_java:13754)
at android.view.ViewGroup.layout(viewgroup_java:4364)
at android.widget.LinearLayout.setChildFrame(linearlayout_java:1649)
at android.widget.LinearLayout.layoutVertical(linearlayout_java:1507)
at android.widget.LinearLayout.onLayout(linearlayout_java:1420)
at android.view.View.layout(view_java:13754)

http://gdg-x.hp.af.cm/#/crashreport/b17393e7-9ec1-4261-9665-c51992e89dec

No events of today are shown

I don't know if it is an issue with the developers api, but the todays event of the GDG Bremen (1st July) is not shown in the tab events, only the next one in august

Crash on click share event when not signed-in to G+

java.lang.IllegalStateException: PlusClient must be connected to create an interactive post.
at com.google.android.gms.internal.x.a(Unknown Source)
at com.google.android.gms.plus.PlusShare$Builder.(Unknown Source)
at org.gdg.frisbee.android.fragment.EventFragment.shareOnGplus(EventFragment.java:251)
at org.gdg.frisbee.android.fragment.EventFragment.onClick(EventFragment.java:246)

Navigation experience should be improved

The user wants to explore GDG information and GD Live information these should be accessible via the navigation drawer as the main areas.

Achievements, Settings and About should go into the Action bar menu.

To fill the navigation drawer, we could add favourite GDGs in addition to the main group. Something like channels in the Youtube app.

The GDG information and GDL information should not appear as new activity but as content of the main activity, like in G+, not like in Youtube app.

App ocasionaly crash on server response other than 200

It would require to add some sophisticated error handling in places where communication can fail

08-30 23:15:29.744: W/System.err(5991): com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
08-30 23:15:29.744: W/System.err(5991): {
08-30 23:15:29.744: W/System.err(5991):   "code": 400,
08-30 23:15:29.744: W/System.err(5991):   "errors": [
08-30 23:15:29.744: W/System.err(5991):     {
08-30 23:15:29.744: W/System.err(5991):       "domain": "usageLimits",
08-30 23:15:29.744: W/System.err(5991):       "message": "Bad Request",
08-30 23:15:29.744: W/System.err(5991):       "reason": "keyInvalid"
08-30 23:15:29.744: W/System.err(5991):     }
08-30 23:15:29.744: W/System.err(5991):   ],
08-30 23:15:29.744: W/System.err(5991):   "message": "Bad Request"
08-30 23:15:29.744: W/System.err(5991): }
08-30 23:15:29.744: W/System.err(5991):     at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:111)
08-30 23:15:29.744: W/System.err(5991):     at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:38)
08-30 23:15:29.744: W/System.err(5991):     at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:312)
08-30 23:15:29.744: W/System.err(5991):     at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1042)
08-30 23:15:29.744: W/System.err(5991):     at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
08-30 23:15:29.744: W/System.err(5991):     at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
08-30 23:15:29.744: W/System.err(5991):     at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
08-30 23:15:29.744: W/System.err(5991):     at org.gdg.frisbee.android.fragment.InfoFragment$4.doInBackground(InfoFragment.java:180)
08-30 23:15:29.744: W/System.err(5991):     at org.gdg.frisbee.android.fragment.InfoFragment$4.doInBackground(InfoFragment.java:171)
08-30 23:15:29.744: W/System.err(5991):     at org.gdg.frisbee.android.task.CommonAsyncTask.doInBackground(CommonAsyncTask.java:79)
08-30 23:15:29.744: W/System.err(5991):     at android.os.AsyncTask$2.call(AsyncTask.java:287)
08-30 23:15:29.744: W/System.err(5991):     at java.util.concurrent.FutureTask.run(FutureTask.java:234)
08-30 23:15:29.744: W/System.err(5991):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)

NPE when swipe while loading news

java.lang.NullPointerException
at android.view.animation.AnimationUtils.loadAnimation(AnimationUtils.java:71)
at org.gdg.frisbee.android.fragment.GdgListFragment.setIsLoading(GdgListFragment.java:196)
at org.gdg.frisbee.android.fragment.EventFragment$1.onResponse(EventFragment.java:102)
at org.gdg.frisbee.android.fragment.EventFragment$1.onResponse(EventFragment.java:96)
at org.gdg.frisbee.android.api.GsonRequest.deliverResponse(GsonRequest.java:65)
at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)

Only past event shown

In the version Alpha 0.7 only past events are shown. the future events are missing. Example: GDG Bremen has an event on the developers site for the 5th of august

Date seems wrong on news items

I just made a post to my GDG page today. Launched frisbee and it loaded the new news post from G+ but it said "4 days ago" as the post time on it. Which happened to be the time of the next older post.

+1 Animation never stops

After +1'ing one news item, the animation will never stop. (not sure if it's related to the API or not)
The user should be notified if the +1 was successful or not.

Need more info

About > Get Involved

No link or mention of GitHub account. Just says go to GitHub.

Please add github.com/gdg-x somewhere :)

Adding event to own calendar: end time equals start time

I don't know if this is an issue of the api, but incase I add an event to my calendar (long click on event) the end time equals the start time. But if I add an event over developers.google.com/events I can add different start and end time

Format of the event dates

it would be great to have localized formats for the time of the events:

Now: 2013-08-05T19:00:00.000+02:00

Better i.e.:
5. August 2013 19:00 Uhr (for Germans)
5th August 2013 7:00pm (for GB, US, etc.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.