Git Product home page Git Product logo

qabel-android's Introduction

Build

The Qabel Android Client

This project provides a Client for Qabel targeting Android. It is a small part of the qabel platform.



Introduction | Install | Getting Started | Usage | Structure | Contribution

Introduction

For a comprehensive documentation of the whole Qabel Platform use https://qabel.de as the main source of information. http://qabel.github.io/docs/ may provide additional technical information.

Qabel consists of multiple Projects:

Install

Official distributions of the Qabel Android Client are provided by the official Qabel website at https://qabel.de/de/qabelnow and via Google Play. Everything below this line describes the usage of the Qabel Android Client for development purposes.

Getting started

  • Install the Android SDK

  • Install the SDK version 23. Make sure you install the "Android Support Repository" and the latest "Android SDK build-tools"

  • Install the NDK

  • Checkout the project from git

  • Create the file /qabelbox/src/main/res/values/params.xml with the following contents:

    <resources> <string name="hockeykey">dummykey</string> </resources>

  • Create a local.properties file at the root of your source checkout and add an sdk.dir and ndk.dir entry to it. For example:

      sdk.dir=/opt/Android/SDK
      ndk.dir=/opt/Android/NDK
    
  • Run ./gradlew build

  • Usage of Android Studio with the Kotlin plugin is recommended for development

Usage

You can run the tests with the following gradle tasks:

  • ./gradlew testDeveloperDebugUnitTest runs the local unit tests
  • ./gradlew spoonDeveloperDebugAndroidTest runs all instrumentation tests on all connected devices and emulators

Development

To run the unit tests directly from Android Studio, you need to change the default options for the JUnit task. Change the vm-options to -ea -Djava.library.path=libs/ so that the android studio testrunner finds the crypto library we use.

Common errors

Cannot run program "".../aapt": error=2, No such file or directory

You are missing some libs for the 32bit aapt. For ubuntu try

sudo apt-get install lib32stdc++6 lib32z1

Structure

The test server addresses are hard coded in TestConstants.java and the live servers are configured in a string ressource servers.xml

Contribution

For issues using the Qabel Android Client, use the feedback feature inside the app (Settings -> Feedback).

Otherwise, use the Issue tracker of GitHub.

Please read the contribution guidelines at https://github.com/Qabel/qabel-core/blob/master/CONTRIBUTING.md carefully.

qabel-android's People

Contributors

audax avatar dave0100 avatar hash13 avatar jan-schreib avatar jasinai avatar jmt85 avatar jogir avatar julianseeger avatar l-henke avatar mr-gosh avatar nnice avatar qabel-jenkins avatar roeslpa avatar wischweh avatar

Stargazers

 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

qabel-android's Issues

Manually import a contact

From a (json) file which contains the public key and a drop address (maybe additional information)

Contact import by scanning a QR code

Given a QR code of a contact
And a user in the contact list fragment
When he clicks on the "Add contact" button
And he clicks on "Scan QR-Code"
Then a QR-scanner starts
And scans the QR-code of the contact
And the contact is imported into his contact list

Given a QR code of a contact that is already known
And a user in the contact list fragment
When he clicks on the "Add contact" button
And he clicks on "Scan QR-Code"
Then a QR-scanner starts
And scans the QR-code of the contact
And a message "Contact is already known" appears

Create a file-share

  • Backend
  • Frontend

Needed in the backend:
FileMetadata database according to the spec

Contact list

Redesign the contact list, it should look like in the mock ups.

Provided functions in the contact list:

  • Import contacts #35 #34
  • Export contacts (should already have a backend)
  • Remove contacts

Search by name

  • Backend
  • GUI

Search started from the action bar with a simple search by name (case insensitive). The search backend is merged in #132.

The advanced search described in #27 and the enhancement of using cached data is described in #145

Cache downloaded metadata

Metadata should be served from the cache first and then updated. The cache should understand documentIDs.

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.