2
0
mirror of https://github.com/fork-maintainers/iceraven-browser synced 2024-11-15 18:12:54 +00:00
Commit Graph

289 Commits

Author SHA1 Message Date
Mitchell Hentges
6c020a0bc4 Configure either geckoview beta or nightly at compile-time (#4851)
* Remove "abi" product flavor and introduce "engine" product flavor.

This patch will allow us to build Fenix against GeckoView Nightly and GeckoView Beta by
introducing a new flavor dimension: engine = [geckoNightly, geckoBeta].

In addition to that it adds a "fenix"  prefix to the nightly, beta and production flavors
to reduce the ambiguity between fenix beta/nightly and GeckoView beta/nightly.

For now the build types have the following engine variants enabled:

**debug**: geckoNightly, geckoBeta
Both variants enabled for local development and testing.

**forPerformanceTest**: geckoNightly, geckoBeta
Both variants enabled unless the perf team only cares about Nightly (tbd)

**fenixNightlyLegacy**: geckoBeta
Uses GeckoView Beta for now - the same version we ship production builds with (same behavior
as before). This release type will eventualyl be decommissioned once we switch to a separate
Nightly app on Google Play.

**fenixNightly**: geckoBeta
Uses GeckoView Beta for now - the same version we ship production builds with (same behavior
as before). Changing this build to use GeckoView Nightly is currently being discussed.

**fenixBeta**: geckoBeta
Fenix Beta uses GeckoView Beta.

**fenixProduction**
Fenix Production uses GeckoView Beta (69) currently.

* gradle.py/variant.py: Replace "abi" with "engine".

* Disable enableUnitTestBinaryResources until we can switch to Android Gradle plugin 3.5.

* Fenix nightly should use both geckoview nightly and beta

* Updates automation to use apk splitting and support different engine
2019-08-21 08:32:01 -07:00
Sebastian Kaspari
b733fcdbd5 Closes #4719: Get rid of fragment-testing dependency and create fragments in StoreProviderTest manually. (#4722) 2019-08-14 09:10:24 -05:00
Colin Lee
e6f9445d11
For #4709: Fix Bugzilla issue 1573549 (#4710) 2019-08-13 22:16:23 -05:00
Colin Lee
7f07eabbd8
For #4652: Crash "Can not perform this action after onSaveInstanceState" (#4654) 2019-08-09 14:46:40 -05:00
Jonathan Almeida
353ecab44e No issue: Disable failing ActivationPingTest 2019-08-09 15:22:38 -04:00
Colin Lee
71c48692da
For #4507 Enable codecov (#4520) 2019-08-08 19:09:54 -05:00
Emily Kager
e1f0c9f48b No issue: Update testing dependencies 2019-08-08 11:37:16 -07:00
Emily Kager
c21c91eac5 No issue: Update testing dependencies and deprecated method (#4608) 2019-08-08 09:03:39 -07:00
Colin Lee
a514cb3f8c No issue: Add OSS licenses link to About page 2019-08-07 12:40:10 -07:00
Travis Long
51218bc93e Integrate service-experiments component (#4098) 2019-08-05 11:14:42 -05:00
Thom Chiovoloni
a1adb2e57f Update fenix for new megazord setup 2019-08-01 13:10:20 -07:00
Sebastian Kaspari
d1d91e9e6a Switch to GeckoView 69 Beta. 2019-07-30 18:53:27 +02:00
Sawyer Blatz
e6487ba609
No issue: Add more useful test output to TaskCluster (#4165) 2019-07-26 08:56:13 -07:00
Richard Pappalardo
b39afe1548
Add taskcluster job for UI tests (#4088) 2019-07-26 08:08:01 -07:00
Colin Lee
3dc20543e3
For #4128: Migrate Bookmarks to LibState (#4254) 2019-07-25 21:55:51 -05:00
Michael Droettboom
ce19709eae 1567988: Reduce likelihood of invalid URL loading Glean build script 2019-07-23 11:21:19 +02:00
Tiger Oakes
8ebd7cd744 Update to use Mozilla Android Components 5.0.0 2019-07-19 16:41:38 -04:00
Sawyer Blatz
b70719bd00
Fixes #2464: Remove Glide dependency (#4169) 2019-07-19 11:06:49 -07:00
Jonathan Almeida
d298b5f2f5 Closes #4075: Add Feature Flag class (#4077) 2019-07-18 17:20:12 -07:00
Johan Lorenzo
7f8cf79241
Use Raptor release now that GV release is used (#4070) 2019-07-18 16:47:18 +02:00
Sebastian Kaspari
110dd732e2 Use Mozilla Android Components 4.0.0. 2019-07-16 18:35:35 +02:00
Jonathan Almeida
5792acf442 No issue: Enable send tab in nightly legacy 2019-07-16 08:54:45 -04:00
Jonathan Almeida
cf9ae87d50 For #3015: Add push support for send tab 2019-07-15 16:38:49 -04:00
Sebastian Kaspari
abc4e93cc3 After mege day: Switch from GV 68 beta to GV 68 release. 2019-07-15 16:29:41 +02:00
Grisha Kruglov
fe51bbcf7b Update FxA integration to new APIs 2019-07-11 13:19:37 +02:00
Colin Lee
747e83da91
Closes #2683. Update Gradle to 5.5 (#3929)
* Closes #2683. Update Gradle to `5.4.1`

* Upgrade to Gradle 5.5
2019-07-08 11:14:13 -05:00
kglazko
166218f74a Adding l10n screenshot tests for Fenix (#3562)
* Adding l10n screenshot tests for Fenix

* fixing comments

* fix klint and detekt error and adding all tests

* better test name and doc added explaining tests
2019-07-08 11:00:29 -05:00
Richard Pappalardo
e7d0bfe581
Update HomeScreenTest (#3882) 2019-07-05 10:38:09 -07:00
Mitchell Hentges
aebcc92080
Re-enables pushing nightly to org.mozilla.fenix (#3823)
* Re-enables pushing nightly to org.mozilla.fenix

* Publishes org.mozilla.fenix.nightly releases on internal track
2019-07-02 11:34:04 -07:00
Mitchell Hentges
e5f47a8210 Nightly package name should be "org.mozilla.fenix.nightly" (#3771) 2019-06-28 18:56:55 -05:00
Tiger Oakes
d01bb8c442 Use lifecycleScope for collections fragments 2019-06-25 13:56:15 -07:00
Denys M
6d6b240e48 Add unit tests for Settings.
Add unit tests for `Settings`.
2019-06-24 16:02:34 -07:00
Tiger Oakes
ab6101b0f4 Fixes #3539 - vectordrawablecompat for gradients (#3541) 2019-06-18 16:38:56 -07:00
Grisha Kruglov
521312c6f8 Disable send tab for non-nightly, non-debug builds (#3542)
* Put deviceCapabilities list behind a SEND_TAB_ENABLED flag

* Disable SEND_TAB for non-debug, non-nightly builds
2019-06-18 16:37:50 -07:00
Colin Lee
e7576b2831
For i18n testing: Enable pseudolocales (#3391) 2019-06-14 13:44:36 -05:00
Johan Lorenzo
2f8dc488bc Let raptor use the geckoview builds 2019-06-14 14:59:42 +02:00
Jonathan Almeida
8e3aeb1545 No issue: Enable send tab for all builds 2019-06-11 18:02:39 -04:00
Thom Chiovoloni
4d82c29743 Don't substitute application-services packages which are not part of the megazord 2019-06-10 15:24:27 -07:00
Denys M
c9570fd6ff Use Drawable.toBitmap() from androidx-ktx. (#3286) 2019-06-10 08:50:37 -04:00
Emily Kager
883afe9bd4 No issue: Update dependencies 2019-06-05 16:30:01 -07:00
Mitchell Hentges
e0fa11a276 Adds IDE documentation for gradle versionName error 2019-06-05 15:15:03 -04:00
Sebastian Kaspari
b2d81aba43 Issue #2381: Add feature-media component and enable notification for recording devices. 2019-06-05 20:20:44 +02:00
Colin Lee
426582c303
For #3129: Add a production build type to Fenix (#3149) 2019-06-05 10:48:10 -05:00
Tiger Oakes
94c4013810 Closes #3091 - Hide Pull to Refresh under flag (#3092)
This was merged in after feature freeze so we're pulling it out for
now. Pull to refresh will continue to work in debug mode so that the
design can be iterated on easily.
2019-06-03 14:10:53 -05:00
Mitchell Hentges
62473e5e86
Migrates "raptor" build type to work for chrome-perf-testing, too (#2926) 2019-06-03 16:32:38 +02:00
James Hugman
060cd646c8 Fixes #1570 - Enable app-links feature 2019-05-31 10:39:47 -07:00
Colin Lee
6e501c33c0
Update flipper to make LeakCanary traces appear (#2971) 2019-05-29 11:17:56 -05:00
Stefan Arentz
ff5eca1537 Fixes #445 - Ship Fenix x86_64 builds (#2856) 2019-05-29 09:19:17 -04:00
Mitchell Hentges
77ff164e30
Passes variants without parsing (#2408) 2019-05-27 15:00:44 +02:00
Emily Kager
beb2dec79f For #2780 - Fix home screen attributes for API 21-22 (#2844) 2019-05-24 14:03:59 -07:00
Jonathan Almeida
8fbbcceb21 Adds send tab functionality to UI (#2790)
* Closes #2782: Hide send tab when no devices available

* For #2752: Enabled send tab for debug and nightly builds

* For #2753: Add Send Tab functionality to UI
2019-05-23 18:38:03 -04:00
Jonathan Almeida
eb7646f073 Add custom share sheet and send tab support (#2757)
* Closes #2751: Add custom app share sheet

* Closes #2753: Add send tab devices to share sheet

* Closes #2752: Add build flag for send tab

* Replace Context.share with ShareFragment
2019-05-23 10:48:22 -07:00
Ryan Kelly
17f8e236aa Closes #2555: Remove appservices gradle plugin, perform megazord substitution by hand. 2019-05-23 08:23:17 -07:00
Sebastian Kaspari
c3ff7a1aba Switch to browser-engine-gecko-beta (GeckoView 68.0). 2019-05-22 11:14:02 -07:00
Sawyer Blatz
f73bb22955 No issue: Removes usage of COLLECTIONS_ENABLED flag 2019-05-21 10:34:30 -07:00
Sebastian Kaspari
6942767dfe Remove feature-session-bundling component. 2019-05-16 22:23:23 -07:00
Sawyer Blatz
72d29c2a43
For #2205 & #1578: Integrates tab collection storage (#2478)
* For #2205: Adds TabCollectionStorage

* For #1578: Adds delete to TabCollection
2019-05-16 14:02:24 -07:00
Colin Lee
ccbc14a71f For #1994: Re-architect state handling code (#2382) 2019-05-09 23:06:12 +00:00
Jeff Boek
27d8c09def
Fixes #1735 - adds the ability to write code against the build channel (#2388) 2019-05-09 22:05:49 +00:00
Emily Kager
60fe8de3ec No issue: Update constraintlayout and androidx dependencies (#2396) 2019-05-09 16:19:44 -05:00
Colin Lee
78f8354fbb Fix build breakage over FragmentScenario integration 2019-05-08 10:27:24 -05:00
Colin Lee
96b68948b5
For #1710: Create scaffolding for Robolectric tests (#2282) 2019-05-07 16:36:37 -05:00
Mitchell Hentges
282ad31345
Updates Fenix taskcluster tasks to support beta release (#1893)
* Updates Fenix taskcluster tasks to support beta release

* Throw error if -PversionName isn't set for release builds

* Uses beta secrets for beta

* Improves nightly and beta treeherder symbols
2019-05-06 19:09:29 +02:00
Christian Sadilek
9b0422b062 Issue #910: Integrate feature-readerview component (#2269)
Closes #908, Closes #910, Closes #911, Closes #912

Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2019-05-03 21:01:45 +00:00
Alessio Placitelli
0d82431195 Generate the activation ping and send it with Glean (#1707)
This fetches the Google Advertising ID, salts it and
then applies hashing before sending a ping with it,
at startup. Hashing and salting are used in order
to prevent ourselves to correlate advertising IDs
from the same user running different products we
own off a single device. We will never send the
client_id and the Google Advertising ID in the same
ping.
2019-05-03 09:40:21 -05:00
Mitchell Hentges
9a2cf4339b Fixes #1566, #2076 (#2194) 2019-05-02 14:08:31 +00:00
Emily Kager
4da5a26536 Closes #2000 - Don't flash LeakCanary setting in release builds (#2006) 2019-04-25 07:42:00 -07:00
Johan Lorenzo
194aa0cbb0 Enable raptor tests on Fenix 2019-04-24 09:35:23 -04:00
Grisha Kruglov
f560ec8e8d Closes #1902: Remove direct appservices dependencies
Our main dependency - android-components - is tightly integrated
against a certain version of appservices. Having a direct dependency
at the Fenix level is a foot-gun: it allows Fenix to consume an API-incompatible
version of appservices, breaking parts of android-components. Due to
how gradle dependency resolution works, this breakage is "silent": there are
no compile time warnings. A recent example of this is broken history sync,
and buggy FxA experience in Fenix.

This patch removes a direct dependency, letting android-components dictate
which appservices version should be used Fenix builds.
2019-04-23 17:41:07 -05:00
Mitchell Hentges
92b6d4a925 Moves release flavour to build type (#1693) 2019-04-22 11:02:39 -07:00
Jeff Boek
f19a773ab9
Merge pull request #1842 from boek/i1840-collections_featureflag
For #1840 - Adds a save tab group button and puts it behind a feature  flag
2019-04-20 14:15:18 -07:00
Colin Lee
d1fd5ec879 For #113: QR Scan 2019-04-19 14:47:53 -07:00
Kevin Brosnan
493bab42a4 UI tests for the home screen 2019-04-16 13:38:06 -07:00
Colin Lee
4c43ff09a8 For #1139: Cold start has Dispatchers.Main 1/5th second delay 2019-04-11 14:24:18 -05:00
Colin Lee
b54d4d1d58 Closes #1312, #1236, #1237, #1238, #1239: Creating, Editing, and Deleting Bookmarks and Bookmark Folders 2019-04-08 14:48:36 -05:00
ekager
568edda8bc Update RecyclerView to 1.1.0-alpha04 2019-04-06 19:53:01 -07:00
Jonathan Almeida
f00e388dd4 Update GV architectures to nightly 2019-04-04 19:33:37 -07:00
Emily Kager
c0a1d36b50 No issue: Remove conflicting appcompat dependency 2019-04-04 06:04:19 +09:00
Sebastian Kaspari
15888eb106 Build against GeckoView 68.0 (browser-engine-gecko-nightly). 2019-04-03 11:09:34 -05:00
Christian Sadilek
a17b5b86c2 Closes #1329: Raptor performance tests can no longer be executed 2019-04-02 19:18:45 -07:00
Sebastian Kaspari
8fa9467290 Gradle: Ignore non-greenfield build variants. 2019-04-02 13:49:48 -05:00
Johan Lorenzo
7f772404ce Run build and tests on PRs and pushes 2019-04-02 13:36:35 +02:00
Colin Lee
bd81e72239 Fixes #916, fixes #917, fixes #920: Save, share, and delete bookmarks 2019-04-01 16:16:08 -05:00
Christian Sadilek
6491adf029 For #423: Add release build type for raptor perf. testing 2019-03-29 10:20:02 -07:00
Jeff Boek
379875a62a Fixes #1162 - replaces about page with an Android Fragment 2019-03-27 10:46:19 -07:00
Colin Lee
0acf8698ef Closes #1151: As a developer, Flipper integration might help me with debugging 2019-03-22 17:12:53 -05:00
Sebastian Kaspari
4d20f99082 Issue #1077: Switch to GeckoView Beta (67.0). 2019-03-22 11:18:06 -05:00
Colin Lee
72b9d4ebdb No issue: Upgrade to stable Navigation library and ignore ktlint issues in generated code 2019-03-15 12:00:40 -07:00
Grisha Kruglov
2b00d1120f Integrate BackgroundSyncManager, enable history syncing
This patch integrates the new a-c BackgroundSyncManager, which is the
main entry point for interacting with Sync. Behind the scenes, it uses
WorkManager in order to sync configured syncable stores.

Current behaviour:
- sync runs on start, with a slight delay
- sync runs on a schedule few times a day, to lessen the startup sync burden

Also included is a basic UI integration in order to allow user to synchronize
on demand, and monitor sync state.
2019-03-13 19:07:28 -05:00
Jeff Boek
521ca74836 Fixes #891 - Adds the leanplum sdk 2019-03-08 14:27:00 -08:00
ekager
1d939f209e No issue: Update Navigation Library 2019-03-06 22:33:59 -08:00
Colin Lee
b9aee25edd Fixes #675: Integrate Adjust SDK (for Greenfield flavor) 2019-03-01 12:57:59 -06:00
Arturo Mejia
725074ec16 Adding support for Site Permissions. 2019-02-28 13:32:08 -08:00
Colin Lee
dfd3e93d17 Fixes #745: Integrate Browser-Icons component for favicons 2019-02-28 13:31:44 -08:00
Grisha Kruglov
46789f4c62 Issue #418: Basic Firefox Accounts integration
This patch integrates relevant a-c components, and updates the current Preferences
UI to allow signing-in and displaying basic account information (email, displayName).

Currently there's no Accounts UI, and so singing out or otherwise interacting with the
account isn't possible.
2019-02-27 18:07:05 -05:00
Grisha Kruglov
9a9740bfd3 Issue #309: Consume Fenix megazord; enable Rust logging 2019-02-27 18:07:05 -05:00
Sebastian Kaspari
0bffc071b6 Closes #698: Create product flavors for Fennec transition.
* greenfield (pure Fenix without anything added)
* firefoxNightly (To replace Firefox Nightly)
* firefoxBeta (To replace Firefox Beta)
* firefoxRelease (To replace Firefox Release)

For now it will be a bit annoying to have all those flavors. But once the transition has been
successfully completed we can start to tear them down again.

Once GeckoView universal builds are available we can get rid of the "abi" dimension.

If this is going to slow down the CI process then I might look into parallelizing the build
or potentially introducing a taskcluster CI setup (if that makes sense).
2019-02-27 13:02:44 -06:00
Colin Lee
64ef207613 Limit Raptor to debug and special builds 2019-02-26 11:26:58 -06:00
Sawyer Blatz
721d181d0b
Closes #622: Adds Glide (#623) 2019-02-21 09:38:00 -08:00
Colin Lee
5cf61c95db Fixes #589: Add sample unit tests for a component 2019-02-20 09:20:40 -08:00
Colin Lee
6d71faa44d Fixes #541: Crash on Home Screen
The Android Lifecycle Architecture component does not have fine-grained enough lifecycle event callbacks to safely manage Rx subscriptions in Fragment lifecycles. Added autodispose to simplify.
2019-02-16 19:40:39 -08:00
Sebastian Kaspari
5903e8b652 Issue #444: Adapt version code for aarch64 to follow order: X86 > aarch64 > ARM. 2019-02-14 10:19:40 -06:00
Colin Lee
ee229c9709 Fixes #354: Overflow menu for multitasking in current session 2019-02-14 10:14:57 -06:00
Jeff Boek
2e525813f6 Adds build date to the about page 2019-02-13 13:20:12 -06:00
Colin Lee
2bc769190e Fixes #401: Resolve known leak and install LeakCanary 2019-02-13 09:37:13 -08:00
Sebastian Kaspari
b4d1ac0d63 Closes #472: Integrate feature-session-bundling component.
This will take care of saving and restoring the (`SessionManager`) state.
2019-02-13 09:35:45 -08:00
Sebastian Kaspari
5f8a15e9ae Introduce aarch64 flavor and publish nightly build. 2019-02-13 08:59:31 -08:00
Emily Kager
0c8b2a8a1e Closes #449 - Adds Basic About Page with Dated Version Name 2019-02-12 16:04:01 -08:00
Colin Lee
c3e8e83776 Enable Proguard plus optimizations for release 2019-02-12 14:20:06 -08:00
Colin Lee
f09dc2453f Fixes #351 Create home screen component for multitasking 2019-02-09 15:52:10 -06:00
Emily Kager
77883c0f30 Closes #403 Use Fragments for Navigation, Add Toolbar to HomeActivity 2019-02-08 12:57:38 -08:00
Emily Kager
4f3c0ee8ad Closes #378 - Creates Library Fragment UI and adds resources 2019-02-06 08:04:04 -08:00
Jonathan Almeida
21508f49ca WIP: Integrate feature-customtabs component 2019-02-05 17:30:51 -08:00
Jeff Boek
a6004fea20 Closes #146 & Closes #147: Integrates find in page
Co-authored-by: Sawyer Blatz <sdblatz@gmail.com>
2019-02-01 23:00:37 -08:00
Sebastian Kaspari
344bc0aea6 Move architecture/mvi code to separate gradle module. 2019-02-01 09:45:55 -06:00
Sebastian Kaspari
7d807f5a0a Closes #263: Integrate service-glean component. 2019-01-31 09:04:15 -08:00
Emily Kager
8368f4fbb2 Part of #288 - Set up basic settings menu 2019-01-30 14:29:17 -08:00
Christian Sadilek
b7384a2633 Closes #264: Integrate feature-contextmenu component 2019-01-30 15:14:35 -06:00
Christian Sadilek
614374942a Closes #265: Integrate feature-prompts component 2019-01-30 14:25:58 -06:00
Colin Lee
273f33b244 Fixes #290: Integrate new Fenix architecture 2019-01-30 13:44:58 -06:00
Sebastian Kaspari
d5515c9f6e Issue #267: Integrate lib-crash component and upload crash reports to sentry and socorro. 2019-01-30 09:11:15 -06:00
Grisha Kruglov
f78b62751d Use abiFilter in product flavour definitions to filter for the supported architectures
This fixes a regression from https://github.com/mozilla-mobile/fenix/pull/294

That patch adds a dependency which loads some native libraries. Those native libs are
shipped for a variety of architectures. Specifically, there are versions of aarch64 and armv7.
What seems to happen is that since those libraries are loaded first (GV is lazily initialized
after history stuff), and since aarch64 versions of these libs is chosen by the native loader,
consequent native loads select for the same abi type. aarch64 version of libmozglue isn't there,
loader fails to find it and we crash.

Being explicit with the abiFilter in the product flavour definitions strips out aarch64 app-services
libs from the apk. When they're loaded first, armv7 versions are picked (since we don't have any other
ones), and everything works correctly afterwards.

Another way to achieve the same result would be to exclude arm64 libs via packagignOptions directive:
packagingOptions { exclude "lib/arm64-v8a/**" }

... but that's a less flexible approach in the longer term.
2019-01-29 16:37:48 -08:00
Christian Sadilek
8ac32ee988 Closes #266 - Integrate feature-downloads component 2019-01-29 14:42:07 -06:00
Grisha Kruglov
0e3965632a Closes #270: Integrate browser-storage-sync for history storage and toolbar autocompletion 2019-01-29 14:40:59 -06:00
Colin Lee
69e9617272 Fixes #127: Add architecture classes 2019-01-28 15:07:48 -06:00
Sebastian Kaspari
63973c4086 Add application id suffix for debug builds.
This makes it a bit more pleasant to work with devices that also have the Nightly builds installed.
2019-01-28 10:33:08 -08:00
Emily Kager
5a3fc1325f Adds toolbar with autocomplete and menu to BrowserFragment 2019-01-24 14:39:51 -08:00
Jeff Boek
3e0ed05c0e Adds missing licenses 2019-01-24 14:13:28 -08:00
Jeff Boek
560aea9b56 For #141 - wires up toolbar and awesomebar 2019-01-24 14:13:28 -08:00
Jeff Boek
480ae93a72 For #141 - Adds autocomplete ot the search screen
- Adds convenience extensions to Context and Fragment
- Imports more components from Android Components
2019-01-24 14:13:28 -08:00
Jonathan Almeida
a038b5f8e4 Use support-ktx for Lifecycle.addObservers 2019-01-24 09:25:46 -08:00
Jeff Boek
4c4f344a97 For #131 - Loads mozilla.org in the browser fragment 2019-01-18 15:47:19 -08:00
Emily Kager
4421adecbb Implement Navigation, Add Search Fragment, Add Browser Fragment 2019-01-15 14:08:37 -08:00
Mitchell Hentges
55abe72754 Adds schedule_nightly_graph.py 2019-01-14 13:09:17 -08:00
Mitchell Hentges
8476587ed6 Adds schedule_nightly_graph.py 2019-01-14 13:09:17 -08:00
Jeff Boek
3378ee4209 For #150 - Adds the search bar 2019-01-12 17:09:28 -06:00
Colin Lee
6449a7b798 Fix buildSrc dependencies and androidX usages 2019-01-07 16:20:22 -06:00
Colin Lee
393829e2aa Re-add automation folder; support multiple arch builds 2019-01-07 15:06:15 -06:00
Jeff Boek
e34f7e166d Initializes Android project
Co-authored-by: Colin Lee <mncolinlee@gmail.com>
Co-authored-by: Sawyer Blatz <sdblatz@gmail.com>
Co-authored-by: Emily Kager <emilykager@gmail.com>
2018-12-07 15:25:38 -05:00