Giter Site home page Giter Site logo

openhpi / xikolo-android Goto Github PK

View Code? Open in Web Editor NEW
39.0 10.0 15.0 11.08 MB

📱 Android App of the HPI MOOC Platform

Home Page: https://play.google.com/store/apps/dev?id=7185448023325736337

License: GNU General Public License v3.0

Java 8.13% Kotlin 91.45% Ruby 0.42%
android e-learning moocs openhpi opensap openwho

xikolo-android's Introduction

Xikolo Android App

The official Android App for openHPI, openSAP, mooc.house and OpenWHO.

Setup

Clone git repository:

git clone --recursive https://github.com/openHPI/xikolo-android

Development

Please use the Android Studio IDE, since we rely on the Gradle build system.

Release Builds

Signing credentials are protected with git-crypt. To compile release builds, install git-crypt:

brew install git-crypt

And unlock the encrypted files:

git-crypt unlock /path/to/xikolo-android.key

The keyfile is managed by the openHPI team and should never be made public or added to the repository.

Version History

Please push a git tag for every released build.

Google Play Links

Contributing

Please feel free to help us with the ongoing development of this app. See open issues to get some inspiration and open a Merge Request as soon as you are ready to go.

xikolo-android's People

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xikolo-android's Issues

Delete Viewed Video Downloads

As a user i would like to have an option that the app deletes viewed videos after watching or n minutes after watching...

Learning Items Device Suggestions

Some learning items are not optimized for mobile or opened externally. We should better communicate this to learners, by suggesting a proper device advise per item type, where appropriate.

Channels

for those platforms that support Channels

Maintain "Footer" Links

The links for impress, data privacy, etc. seems broken for some platforms. Think about how we can maintain these links for every platform in a better way. Also these should be opened with chrome custom tabs.

Improve courses date labeling

This is the new logic for the date label of courses:

If a course has no start and end date

  • EN: Coming soon
  • DE: Bald verfügbar

If a course has only a start date in past

  • EN: Since start_date
  • DE: Seit start_date
  • WHO-only:
    • EN: Self-paced
    • DE: Selbststudium

If a course has only a start date in future

  • EN: Beginning start_date
  • DE: Ab start_date

If a course a start and end date

  • start_date - end_date

Course Filter

Filter courses for language or whitelisted classifier. Has to be merged with course search somehow.

Documents

Add documents feature for OpenWHO.

Improve Deep Link handling for Course

When a Deep Link is handled for a course (see CourseActivity), all courses are fetched and the matching course is extracted. This can be improved by fetching directly the specific course, since we have access to the course code.

Different start dates

Mit der neuen API V2 (/api/v2/courses) gibt es ein Anzeigedatum. Das soll für die Anzeige in der Liste verwendet werden. Für die Steuerung des Zugangs soll das normale startDate verwendet werden.

Bei Bedarf kann ich ein Kurs mit diesen Eigenschaften zur Verfügung stellen.

"startDate": "2015-11-11T09:00:00Z",
"endDate": "2015-12-09T09:30:00Z",
"displayStartDate": "2015-11-11T09:00:00Z"

Improve Login UI

Improve the Login Section with proper Material Design and maybe User Onboarding flow.

Add chromecast support

Simple Szenario: Watch picture in picture Video on Chromecast Device
Complex Szenario: Watch dual stream videos one on the video, the other on the device

ConcurrentModificationException when aborting download

_Merge Request #13 only_

App crashes under certain circumstances when aborting the download of a video.

How to reproduce:

  • Download a video
  • As soon as the download starts download any other video
  • Wait for all downloads to start and then abort the download of the video you started in step 1

Stacktrace:

java.util.ConcurrentModificationException
            at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:569)
            at de.xikolo.model.DownloadModel.cancelDownload(DownloadModel.java:93)
            at de.xikolo.controller.module.helper.DownloadViewController$2.onClick(DownloadViewController.java:119)
            at android.view.View.performClick(View.java:4084)
            at android.view.View$PerformClick.run(View.java:16966)
            at android.os.Handler.handleCallback(Handler.java:615)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            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)

channel support

Add channel support for those builds where the platform uses channels

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.