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.
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.
Guide to Contributing (New contributors start here!)
View current Issues, view current Pull Requests, or file a security issue.
Opt-in to our Mailing List firefox-focus-public@ to keep up to date.
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!
git clone https://github.com/mozilla-mobile/focus-android
./gradlew clean app:assembleFocusDebug
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.
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.
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
If you're making changes to these projects and want to test them in Focus, auto-publication workflow is the fastest, most reliableway to do that.
In local.properties
, specify a relative path to your local android-components
and/or application-services
checkouts. E.g.:
autoPublish.android-components.dir=../android-components
autoPublish.application-services.dir=../application-services
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.
To reduce review turn-around time, we'd like all pushes to run tests locally. We'drecommend 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
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/
场景:当听音乐并且在刷朋友圈或者微博的时候,我们想点击一个视频看,此时音乐会暂停只保留视频播放,然后退出视频后音乐又重新播放; 在Android2.2时引入了AudioFocus机制来对Audio资源的竞争进行管理与协调;需要Audio资源双方都实现该机制才能完成当一方失去或者得到焦点时,另一方能够进行反应:停止播放或者降低音量的效果; 获取AudioManager实例: AudioManager
一. 主动获取焦点 setFocusable(true); // 是设置能否获得焦点而已。. requestFocus(); //是让控件得到焦点 requestFocusInWindow() //的作用应该是获取窗口的焦点 二.子类是否获取焦点 开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去
android系统允许2个或以上的android应用同时向同一个输出流播放音频,系统会将所有的系统会将所有音频流混合在一起。 以下分析是基于android-10.0.0_r36代码 AudioFocus采用合作模式,行为恰当的音频应用应根据以下一般准则来管理音频焦点: 在即将开始播放之前调用 requestAudioFocus(),并验证调用是否返回 AUDIOFOCUS_REQUEST_GRAN
Engineer-Jsp:PassWordView 效果图地址 Usage <com.example.passwordview.PassWordView xmlns:rmt_custom_edittext_view="http://schemas.android.com/apk/res/com.example.passwordview" android:id="@+id/rmt_c
最近遇到一个偶先的问题,APP在遥控器操作的时候,偶先崩溃。日志如下: 12-22 19:54:53.359 30204 30204 E AndroidRuntime: java.lang.IllegalStateException: super.focusSearch(focused, direction) must not be null 12-22 19:54:53.359 30204 30
1、为什么会有音频焦点机制? 我们android系统里面会安装各种多媒体软件,如果不制定一个有效合理的规则,各个应用各自为政,那么可能就会出现各种播放器、软件的混音。音频焦点机制规定某一时刻只能有一个应用获取到声音的焦点,这个时候就可以发出声音。当然,在这个应用获取到焦点之前,需要通知其他所用的应用失去焦点。 2、使用音频焦点 //获取焦点 AudioManager mAudioManager =
Android消息机制是制指Handler、Looper、MessageQueue、Message之间如何工作的。 handler是用来处理消息和接收消息的中间者,handler的创建会伴随着handler中产生looper和MessageQueue,handler依赖于looper,looper依赖于MessageQueue,所以在子线程中使用handler抛出异常是因为子线程中没有初始化loo
前言 以前做Android4.0的时候申请AudioFocus基本就是传个streamtype,durationHint和listener,不知不觉到了android O、P、Q。也就是到了Android10.0发现突然多了好多与音频焦点相关的类,看的眼花缭乱。今天抽时间梳理了一下这些类都是做什么的。 正文 具体罗列如下: AudioFocusRequest FocusRequestInfo Au
Android 架构师需要掌握的技能 架构与设计 设计模式 重构 技术选型 特性 可用性 性能 包大小 方法数 文档 技术支持 UI架构模式 MVC MVP MVVM 研发工具 集成开发环境 Android Studio Sublime Text 版本控制系统 svn git gitlab github mercurial 调试工具 ADB DDMS Stetho LeakCanary Class
在非触摸屏设备中接收事件和处理响应的控件是具有焦点(Focused)的控件。一个窗口中一个时间内只能有一个具有焦点的控件。在早期具有滚轮设备的android系统中以及现在的智能TV电视应用中视图的焦点控制就非常重要了。而在触摸设备上通常默认情况下只有EditText控件才具有焦点,而我们通常会遇到的一个问题就是当进入一个具有EditText的界面时键盘就会自动弹出,而且有时候可能无法消失,但需求可
场景 场景:点击按钮动效出现弹窗,弹窗内的元素调用输入框自动获取焦点focus事件。正常情况下,使用 jQuery 的focus()方法Android的是可以获取焦点,并且调起输入键盘的。 问题:在这里只是动效出现了弹窗,并没有聚焦调起键盘。 定位:这里的弹窗输入框是动态展示,所以直接使用focus()是不起作用的,需要结合延迟执行。 解决方案 加一个延迟执行focus即可 setTimeout(
描述 (Description) :focus伪类用于在元素具有焦点时为元素添加特殊效果。 在 ... 块中定义伪类时,应注意以下几点 - a:hover必须在a:link和a:在CSS定义中访问才能生效。 a:主动必须在a:hover in CSS定义后才能生效。 伪类名称不区分大小写。 伪类与CSS类不同,但它们可以组合在一起。 可能的值 (Possible Values) color - 任
Categories: Method Overrides | Methods | UI Core .focus( delay [, callback ] )Returns: jQuery Description: 异步聚焦到一个元素。 .focus( delay [, callback ] ) delayType: Integer聚焦前等待的毫秒数。 callbackType: Function(
J-Focus (JFocus) 是一个Javascript脚本实现的动画应用框架,用于快速地开发基于动画效果的Web应用。其特点如下: 各种过渡动画的快速实现 与ActionScript3有着相似的类型结构,让ActionScript开发者更容易上手。 兼容IE、Chrome、FireFox、Opera、Safari多款浏览器 最新版本更新内容: 1、调整框架结构组成,由原来的一个文件划分成多个
Firefox Focus 是 Mozilla 出品的专门为防止隐私泄漏的功能精简版本浏览器,包括屏蔽广告、防广告跟踪器等功能。 Firefox Focus 允许你拦截网站跟踪者通过以下类别: 广告、分析和社交跟踪 其他内容跟踪者 – 这个类别包括了可能跟踪你的嵌入视频、图片和新闻。拦截其他内容跟踪者可能导致许多网站功能不正常。 总的来说,主要是针对广告,让商家没办法追踪到你的设备。要注意,这是隐
Focus v2.9.0 A presentation theme for LaTeX Beamer that aims at a clean and minimalist design,so to minimize distractions and put the focus directly on the content. This package is available through t
This plugin allows you to specify the form element on which the initial focus should be set Only sets the focus if the user is yet to type anything into the form field Also supports setting the focus