Remixer helps teams use and refine design specs by providing an abstraction for these values that is accessible and configurable from both inside and outside the app itself.
This SDK for Android is currently in development.
New to Remixer? Visit our main repo to get a full description of what it is and how it works.
Project structure
The project is defined as a gradle project with submodules.
- remixer_core: The core framework code, has no dependencies on the android framework and contains the core logic to run callbacks on changes to a Variable, etc. Most of the base classes are here
- main: The code for the core framework
- tests: JUnit tests for the Remixer code.
- remixer_ui: The code that shows remixes in the UI.
- main
com.google.android.libraries.remixer.ui.view
is the code to display the UI as a BottomSheetFragmentDialogcom.google.android.libraries.remixer.ui.widget
is a family of widgets that can display each individual Remixer item (variable or trigger).com.google.android.libraries.remixer.ui.widget.RemixerItemWidget
is an Interface to implement such widgets. Necessary if you want to provide different widgets.com.google.android.libraries.remixer.ui.RemixerCallbacks
is an implementation ofApplication.ActivityLifecycleCallbacks
that clears up callbacks once the corresponding activity is destroyed so it doesn't leak. It needs to be registered in theApplication.onCreate()
method.
- tests: JUnit/Robolectric tests.
- main
- remixer_annotation: An annotation processor to make it easier to add remixes to your code.
- main: The annotation processing code.
- tests: JUnit tests based on actual classes to compile.
- remixer_example: This is an example app.
- main: the code for the example app
Building
- Clone the repository
git clone https://github.com/material-foundation/material-remixer-android.git
- You have two options here:
- Open it on Android Studio and build from there.
- run
./gradlew build
on your terminal (gradlew.bat build
on Windows). * This assumes that you have a copy of the android SDK and, * That you have exported aANDROID_HOME
environment variable that points to your SDK install (the directory that contains subdirectories such astools
,platform-tools
, etc.)- If you use Android Studio on a mac that defaults to
/Users/<yourusername>/Library/Android/sdk
- In this case you can put
export ANDROID_HOME=/Users/<yourusername>/Library/Android/sdk
in your~/.profile
or~/.bash_profile
as appropriate.)
- If you use Android Studio on a mac that defaults to
Installing the example app
If you're reading this you're probably installing the app from the terminal as opposed to Android Studio.
adb install -r remixer_example/build/outputs/apk/remixer_example-debug.apk