start141

Results 11 issues of start141

这是正常回弹后回到初始位置的截图 ![qq20160603-0 2x 3](https://cloud.githubusercontent.com/assets/6055764/15768257/d730c5fe-2981-11e6-8b40-037d4a77fbd7.png) 这是`回弹未回到初始位置`时的截图(为了方便展现问题,我把背景设置成了红色) ![qq20160603-0 2x 4](https://cloud.githubusercontent.com/assets/6055764/15768277/ed2877ee-2981-11e6-8aee-83eb99780f25.png)     当出现下拉松手后回弹最终未停留在初始位置时,就会导致一个完整的下拉动作未完成, 进一步导致`用户尝试再一次下拉时不会触发新的下拉加载事件`(UI上`表现为下拉松手后会立马回弹`,并不会触发onUIRefreshBegin)。 通过打印Log发现此时onUIRefreshComplete之后没有回调onUIReset,Log如下: ![qq20160603-0 2x](https://cloud.githubusercontent.com/assets/6055764/15768408/13c8efe0-2983-11e6-875f-18ff9e687c75.png) ![qq20160603-0 2x](https://cloud.githubusercontent.com/assets/6055764/15768420/3ca94950-2983-11e6-9326-9df86d73127f.png) ![qq20160603-0 2x 2](https://cloud.githubusercontent.com/assets/6055764/15768427/49185e92-2983-11e6-9f26-12e4027a8184.png) `如果你想要快速复现此bug,可以加大headerView的高度,同时缩减回调时间。`

This PR can make horizontal move better than before. refer to ViewPager source code.

Hi! How to config the android_build.sh file to only compile ffpmeg+h264+fdk-aac?

Could add fdk-aad support?

FragmentDataBinding viewBinding lifecycleOwner是否应该使用viewLifecycleOwner更为恰当呢? [参照architecture-components-samples代码-1](https://github.com/android/architecture-components-samples/blob/2c19434f89e925b8bea56366faa0a197c5b90b96/GithubBrowserSample/app/src/main/java/com/android/example/github/ui/search/SearchFragment.kt#L82) [参照architecture-components-samples代码-2](https://github.com/android/architecture-components-samples/blob/2c19434f89e925b8bea56366faa0a197c5b90b96/GithubBrowserSample/app/src/main/java/com/android/example/github/ui/repo/RepoFragment.kt#L99) [参照architecture-components-samples代码-3](https://github.com/android/architecture-components-samples/blob/2c19434f89e925b8bea56366faa0a197c5b90b96/GithubBrowserSample/app/src/main/java/com/android/example/github/ui/user/UserFragment.kt#L103)

discuss / 讨论

众所周知,MIUI、Flyme等Android定制系统在程序请求打开相机、录音等操作时,系统会先弹出对话框提示用户是否允许程序执行这些操作,如果用户选择允许,则接下来的操作一切正常,如果用户选择拒绝之后,程序后面的工作将无法正常允许,甚至崩溃。 提问:在这种情况下,如何判断用户是拒绝还是允许了操作? 目前我知道用try catch可以粗暴的判断,但我不确定所有的权限请求被拒绝后都会抛异常。 各位有更好的办法吗?

如题,通常我们在Camera回调函数onPreviewFrame(byte[] data, Camera camera)获取预览帧数据data,然后对data进行一些诸如转换、保存到文件的操作,以每秒15帧为例,帧与帧之间的间隔时间约为66.7ms,这意味着需要在66.7ms内处理完对data数据的转换、保存等工作,而文件写入操作有时候写入一帧的时间可能达到200ms,这样就会造成UI线程阻塞,onPreviewFrame回调次数也跟着减少,造成掉帧。 这样就得考虑用异步线程来对data进行转换、保存等操作了吧。 如果Camera预览配合addCallbackBuffer使用(假设add了三组buffer),那么onPreviewFrame回调的参数data就会是三组buffer中的一个(循环返回其一),如果异步处理data不及时依然会造成data被Camera重写的问题,这样应该会引发帧数据错乱,甚至损毁的问题吧。 请问针对此问题有什么好的解决方案?

MediaRecorder可以给prepare和start方法加try catch判断是否获得了录音权限。 但是这招在AudioRecord上却不起效,并不会抛异常。 有人知道有什么方法可以判断AudioRecord是否获得了录音权限吗?

Camera类可以执行多次addCallbackBuffer方法,然后onPreviewFrame(byte[] data, Camera camera)回调会循环返回addCallbackBuffer添加的buffer(即onPreviewFrame返回的data),多次addCallbackBuffer的作用是什么?有什么样的场景适用?求大神速来回复,3Q!