Patrons

SharedPreferences wrappers with an encryption package.

Лицензия

Лицензия

Группа

Группа

com.prolificinteractive
Идентификатор

Идентификатор

patrons
Последняя версия

Последняя версия

0.1.0
Дата

Дата

Тип

Тип

aar
Описание

Описание

Patrons
SharedPreferences wrappers with an encryption package.
Ссылка на сайт

Ссылка на сайт

https://github.com/prolificinteractive/Patrons
Система контроля версий

Система контроля версий

https://github.com/prolificinteractive/Patrons

Скачать patrons

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.prolificinteractive/patrons/ -->
<dependency>
    <groupId>com.prolificinteractive</groupId>
    <artifactId>patrons</artifactId>
    <version>0.1.0</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/com.prolificinteractive/patrons/
implementation 'com.prolificinteractive:patrons:0.1.0'
// https://jarcasting.com/artifacts/com.prolificinteractive/patrons/
implementation ("com.prolificinteractive:patrons:0.1.0")
'com.prolificinteractive:patrons:aar:0.1.0'
<dependency org="com.prolificinteractive" name="patrons" rev="0.1.0">
  <artifact name="patrons" type="aar" />
</dependency>
@Grapes(
@Grab(group='com.prolificinteractive', module='patrons', version='0.1.0')
)
libraryDependencies += "com.prolificinteractive" % "patrons" % "0.1.0"
[com.prolificinteractive/patrons "0.1.0"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

Данный проект не имеет модулей.

Patrons

Travis branch

Let your patron do the work.

A Patron is a preference wrapper. Come also with an encryption system.

Features

Use the adequate patron for the preference value type you would like to store.

Patrons handle all types handled by shared preferences:

  • boolean
  • float
  • float
  • int
  • String
  • StringSet

Patrons also provide an encrypted version of the shared preferences. Use patrons-conceal to encrypt your preference values.

Installation

Step 1. Add the JitPack repository to your build file

allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}

Step 2. Add the dependency

dependencies {
  implementation 'com.github.prolificinteractive.patrons:patron:${patronsVersion}'

  // If you want patrons with encryption of your shared preferences
  implementation 'com.github.prolificinteractive.patrons:patron-conceal:${patronsVersion}'
}

Usage

A default patron exists for all shared preferences types.

Boolean

val boolPref: Preference<Boolean> = BooleanPreference(prefs, "key")

Float

val floatPref: Preference<Float> = FloatPreference(prefs, "key")

Integer

val intPref: Preference<Integer> = IntPreference(prefs, "key")

Long

val longPref: Preference<Long> = LongPreference(prefs, "key")

String

val stringPref: Preference<String> = StringPreference(prefs, "key")

String Set

val stringSetPref: Preference<Set<String>> = StringSetPreference(prefs, "key")

Conceal

Init Conceal in your application class:

import com.facebook.soloader.SoLoader;

public class MyApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    SoLoader.init(this, false);
  }
}

Encryption

SharedPreferences Backed Keychain

val prefs = ConcealSharedPreferences(context)

Keystore Backed Keychain

By default, preference's key is NOT encrypted but the behaviour can be customized by passing your own custom KeyEncryption

val defaultPref = PreferenceManager.getDefaultSharedPreferences(context)
val concealedPrefs = ConcealSharedPreferences(
  this,
  defaultPref,
  NoKeyEncryption(),
  ConcealEncryption(
    context,
    "conceal_encryption",
    AndroidConceal
      .get()
      .createDefaultCrypto(KeystoreBackedKeychain(context, defaultPref))
    )
)

Proguard

TODO

Contributing to Patrons

To report a bug or enhancement request, feel free to file an issue under the respective heading.

If you wish to contribute to the project, fork this repo and submit a pull request. Code contributions should follow the standards specified in the Prolific Android Style Guide.

License

prolific

Copyright (c) 2018 Prolific Interactive

Patrons is maintained and sponsored by Prolific Interactive. It may be redistributed under the terms specified in the LICENSE file.

com.prolificinteractive

Prolific Interactive

Prolific Interactive is a strategy-led mobile agency partnering with high-growth lifestyle brands.

Версии библиотеки

Версия
0.1.0