Coder Social home page Coder Social logo

nathanmkaya / focus-android Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mozilla-mobile/focus-android

0.0 1.0 0.0 173.25 MB

Firefox Focus: The privacy browser - Browse like no one’s watching.

License: Mozilla Public License 2.0

Java 16.35% HTML 6.58% CSS 0.04% JavaScript 0.01% Shell 0.57% Kotlin 71.95% Python 3.98% Dockerfile 0.51%

focus-android's Introduction

Firefox Focus for Android

Browse like no one’s watching. The new Firefox Focus automatically blocks a wide range of online trackers — from the moment you launch it to the second you leave it. Easily erase your history, passwords and cookies, so you won’t get followed by things like unwanted ads.

Firefox Focus provides automatic ad blocking and tracking protection on an easy-to-use private browser.

Get it on Google Play

Getting Involved

We encourage you to participate in this open source project. We love Pull Requests, Bug Reports, ideas, (security) code reviews or any other kind of positive contribution.

Before you attempt to make a contribution please read the Community Participation Guidelines.

Beginners! - Watch out for Issues with the "Good First Issue" label. These are easy bugs that have been left for first timers to have a go, get involved and make a positive contribution to the project!

Build Instructions

  1. Clone or Download the repository:
git clone https://github.com/mozilla-mobile/focus-android
  1. Import the project into Android Studio or build on the command line:
./gradlew clean app:assembleFocusDebug
  1. Make sure to select the correct build variant in Android Studio: focusArmDebug for ARM focusX86Debug for X86 focusAarch64Debug for ARM64

local.properties helpers

You can speed up or enhance local development by setting a few helper flags available in local.properties which will be made easily available as gradle properties.

Automatically sign release builds

To sign your release builds with your debug key automatically, add the following to <proj-root>/local.properties:

autosignReleaseWithDebugKey

With this line, release build variants will automatically be signed with your debug key (like debug builds), allowing them to be built and installed directly through Android Studio or the command line.

This is helpful when you're building release variants frequently, for example to test feature flags and or do performance analyses.

Building debuggable release variants

Nightly, Beta and Release variants are getting published to Google Play and therefore are not debuggable. To locally create debuggable builds of those variants, add the following to <proj-root>/local.properties:

debuggable

Auto-publication workflow for android-components and application-services

If you're making changes to these projects and want to test them in Focus, auto-publication workflow is the fastest, most reliable way to do that.

In local.properties, specify a relative path to your local android-components and/or application-services projects. E.g.:

  • autoPublish.android-components.dir=../firefox-android/android-components
  • autoPublish.application-services.dir=../application-services

Note that the Android Components project was already migrated to the new firefox-android repository. Therefore, this auto publication workflow won't be neccessary for Android Components once Focus is integrated in the new repository as well.

Once these flags are set, your Focus builds will include any local modifications present in these projects.

See a demo of auto-publication workflow in action.

Pre-push hooks

To reduce review turn-around time, we'd like all pushes to run tests locally. We'd recommend you use our provided pre-push hook in quality/pre-push-recommended.sh. Using this hook will guarantee your hook gets updated as the repository changes. This hook tries to run as much as possible without taking too much time.

To add it, run this command from the project root:

ln -s ../../quality/pre-push-recommended.sh .git/hooks/pre-push

To push without running the pre-push hook (e.g. doc updates):

git push <remote> --no-verify

Test Channel on Google PlayStore

To get Focus Nightly on your device, follow these steps:

  1. Visit https://groups.google.com/g/firefox-focus-pre-release and join the Google Group
  2. After you have joined the group opt-in to receive Nightly builds, again with the same Google account: https://play.google.com/apps/testing/org.mozilla.focus.nightly
  3. Download Firefox Focus (Nightly) from Google Play: https://play.google.com/store/apps/details?id=org.mozilla.focus.nightly

Make sure you use the same Google Account for both steps.

License

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/

focus-android's People

Contributors

aaronmt avatar ahunt avatar amejia481 avatar andiaj avatar boek avatar colintheshots avatar ekager avatar emmanuelmess avatar gabrielluong avatar iorgamgabriel avatar jayeshsolanki93 avatar jcristau avatar johanlorenzo avatar jonalmeida avatar layely avatar liuche avatar mastizada avatar mcarare avatar mcomella avatar mickeymoz avatar mozilla-l10n-automation-bot avatar mugurell avatar pocmo avatar rpappalax avatar rvandermeulen avatar sarah-clements avatar sblatz avatar siddware avatar subhrajyotisen avatar sv-ohorvath avatar

Watchers

 avatar

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.