Skip to content
This repository has been archived by the owner on Jul 5, 2021. It is now read-only.
This repository has been archived by the owner on Jul 5, 2021. It is now read-only.

Allow users to turn off Firebase sharing in Settings #1411

Closed
joechengla opened this issue Feb 9, 2018 · 5 comments
Closed

Allow users to turn off Firebase sharing in Settings #1411

joechengla opened this issue Feb 9, 2018 · 5 comments
Assignees
Labels
feature need crossfunctional dependency outside EM team need ux/vd UX's or VD's inputs are needed P0 you'd rather block the release for this
Milestone

Comments

@joechengla
Copy link

Let’s tie Firebase setting to Send Usage Data setting (global switch)

@joechengla joechengla added this to the sprint1.0.5 milestone Feb 12, 2018
@chianger chianger added the 2.0 label Mar 1, 2018
@chianger chianger modified the milestones: sprint1.0.5, 2.0 FeatureComplete Mar 1, 2018
@joechengla joechengla removed the 2.0 label Mar 12, 2018
@joechengla joechengla modified the milestones: 2.0 FeatureComplete, 2.1 Mar 12, 2018
@weslyhuang
Copy link

next step on UX for a design proposal.

@Jacklin-ux Jacklin-ux added the need ux/vd UX's or VD's inputs are needed label Apr 16, 2018
@cnevinc
Copy link
Contributor

cnevinc commented Apr 17, 2018

I'll need the UI design so I know where to add the setting.

@weslyhuang
Copy link

Need UX/Product detail. (Risky for May 12?)

  1. new string
  2. may need SUMO for it too.

@weslyhuang weslyhuang added Need Strings need crossfunctional dependency outside EM team labels Apr 18, 2018
cnevinc pushed a commit that referenced this issue May 10, 2018
cnevinc pushed a commit that referenced this issue May 10, 2018
cnevinc pushed a commit that referenced this issue May 10, 2018
cnevinc pushed a commit that referenced this issue May 11, 2018
cnevinc pushed a commit that referenced this issue May 11, 2018
1. Use states from UI in FirebaseHelper.bind()
2. Check for system env at build time
3. Add debug mode for firebase build
4. Make Espresso Tests runs on Firebase build
cnevinc added a commit that referenced this issue May 11, 2018
In this commit:
1. Move FirebaseHelper.init to a content provider so it gets init earlier.
2. Disable the content provider that Fabric and Firebase previously use.
3. Use Firebasehelper.bind() to flip the switch.
4. Remove gms plugin so no need to verify play-service.json.
5. Manually add the api key to resValue and generates at compile time
6. App module can fail back to firebase or firebase_no_op build type in fireabse module to inject the impl.
7. Add firebase build type to app module, so only people who interested
in Firebase need to use that build type.
8. Make resValue accept environment variables.

TODO:
1. Add the link build.gralde for firebase module, to denote the document
for manually create build id.
2. Add more document to let others know how Fabric and Firebase are
initialized and how to adjust it.
3. let firebase crashlytics accept debug mode

Tests:
I've tested below scnearios:
1. switch on/off Firebase, test RateApp Dialog. It should display
   default value when Firebase is off.
2. make a crash, see if the crash apears in the backend ( may need to
  have debug mode first)
3. switch on/off and test push notification : when app in the
  background / in the foreground / not running (6 test cases)
4. in firebase console, see debug view and check for events.
cnevinc pushed a commit that referenced this issue May 11, 2018
1. Use states from UI in FirebaseHelper.bind()
2. Check for system env at build time
3. Add debug mode for firebase build
4. Make Espresso Tests runs on Firebase buil
5. Expose FCM token for QA in Nightly and FirebaseDebug build
cnevinc pushed a commit that referenced this issue May 13, 2018
cnevinc added a commit that referenced this issue May 13, 2018
In this commit:
1. Move FirebaseHelper.init to a content provider so it gets init earlier.
2. Disable the content provider that Fabric and Firebase previously use.
3. Use Firebasehelper.bind() to flip the switch.
4. Remove gms plugin so no need to verify play-service.json.
5. Manually add the api key to resValue and generates at compile time
6. App module can fail back to firebase or firebase_no_op build type in fireabse module to inject the impl.
7. Add firebase build type to app module, so only people who interested
in Firebase need to use that build type.
8. Make resValue accept environment variables.

TODO:
1. Add the link build.gralde for firebase module, to denote the document
for manually create build id.
2. Add more document to let others know how Fabric and Firebase are
initialized and how to adjust it.
3. let firebase crashlytics accept debug mode

Tests:
I've tested below scnearios:
1. switch on/off Firebase, test RateApp Dialog. It should display
   default value when Firebase is off.
2. make a crash, see if the crash apears in the backend ( may need to
  have debug mode first)
3. switch on/off and test push notification : when app in the
  background / in the foreground / not running (6 test cases)
4. in firebase console, see debug view and check for events.
cnevinc pushed a commit that referenced this issue May 13, 2018
1. Use states from UI in FirebaseHelper.bind()
2. Check for system env at build time
3. Add debug mode for firebase build
4. Make Espresso Tests runs on Firebase buil
5. Expose FCM token for QA in Nightly and FirebaseDebug build
cnevinc pushed a commit that referenced this issue May 14, 2018
1. Use states from UI in FirebaseHelper.bind()
2. Check for system env at build time
3. Add debug mode for firebase build
4. Make Espresso Tests runs on Firebase buil
5. Expose FCM token for QA in Nightly and FirebaseDebug build
cnevinc added a commit that referenced this issue May 14, 2018
In this commit:
1. Move FirebaseHelper.init to a content provider so it gets init earlier.
2. Disable the content provider that Fabric and Firebase previously use.
3. Use Firebasehelper.bind() to flip the switch.
4. Remove gms plugin and generate google_app_id at compile time. Put
those values in system environment variables.
5. Remove fabric plugin and generate build_id at compile time
6. App module can fall back to 'firebase' or 'firebase_no_op'build type in fireabse module to switch the impl
7. Add 'firebase' build type to app module, so only people who interested
in Firebase need to use that build type.

Tested below scenarios when Firebase is on or off:
1. RemoteConfig: RateApp Dialog should display the correct value
2. Crashlytics: Force a crash, and see if the crash apears in Crashlytics backend (
In debug build)
3. FCM: When the app is in the background/foreground , or not running
4. Anaylytics: In firebase console, see debug view and check for events.
cnevinc pushed a commit that referenced this issue May 14, 2018
cnevinc added a commit that referenced this issue May 14, 2018
In this commit:
1. Move FirebaseHelper.init to a content provider so it gets init earlier.
2. Disable the content provider that Fabric and Firebase previously use.
3. Use Firebasehelper.bind() to flip the switch.
4. Remove gms plugin and generate google_app_id at compile time. Put
those values in system environment variables.
5. Remove fabric plugin and generate build_id at compile time
6. App module can fall back to 'firebase' or 'firebase_no_op'build type in fireabse module to switch the impl
7. Add 'firebase' build type to app module, so only people who interested
in Firebase need to use that build type.

Tested below scenarios when Firebase is on or off:
1. RemoteConfig: RateApp Dialog should display the correct value
2. Crashlytics: Force a crash, and see if the crash apears in Crashlytics backend (
In debug build)
3. FCM: When the app is in the background/foreground , or not running
4. Anaylytics: In firebase console, see debug view and check for events.
cnevinc pushed a commit that referenced this issue May 14, 2018
cnevinc pushed a commit that referenced this issue May 15, 2018
mxlius pushed a commit to mxlius/FirefoxLite that referenced this issue Jun 25, 2018
In this commit:
1. Move FirebaseHelper.init to a content provider so it gets init earlier.
2. Disable the content provider that Fabric and Firebase previously use.
3. Use Firebasehelper.bind() to flip the switch.
4. Remove gms plugin and generate google_app_id at compile time. Put
those values in system environment variables.
5. Remove fabric plugin and generate build_id at compile time
6. App module can fall back to 'firebase' or 'firebase_no_op'build type in fireabse module to switch the impl
7. Add 'firebase' build type to app module, so only people who interested
in Firebase need to use that build type.

Tested below scenarios when Firebase is on or off:
1. RemoteConfig: RateApp Dialog should display the correct value
2. Crashlytics: Force a crash, and see if the crash apears in Crashlytics backend (
In debug build)
3. FCM: When the app is in the background/foreground , or not running
4. Anaylytics: In firebase console, see debug view and check for events.
mxlius pushed a commit to mxlius/FirefoxLite that referenced this issue Jun 25, 2018
mxlius pushed a commit to mxlius/FirefoxLite that referenced this issue Jun 25, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature need crossfunctional dependency outside EM team need ux/vd UX's or VD's inputs are needed P0 you'd rather block the release for this
Projects
None yet
Development

No branches or pull requests

5 participants