profile
viewpoint
Daniil Popov int02h Tallinn https://int02h.ru/ Android Developer and Musician

int02h/primaree 37

A simple library for safe initialization of multi-process Android applications

safetytracker/open-sms-locator 21

Our app helps find and rescue a missing person even if they’re unconscious and unable to use their phone

int02h/git-checkout-task 9

Git custom command to checkout branch for a specific task

int02h/ocubator 5

Tool for testing Java annotation processors

int02h/autoprefs 3

Code generation library for convenient use of SharedPreferences

int02h/fast-proxy 1

Experimental project on generating byte code for Dalvik/ART in runtime for creating dynamic proxies (like java.lang.reflect.Proxy)

int02h/hevery 1

Hevery allows you to write Git Hooks in JVM languages

int02h/int02h.github.io 1

Rendered version of personal page at https://int02h.ru

int02h/tellon 1

Java library and attendant software for source code changes detection

AvokadoProject/avokadoproject.github.io 0

Rendered version of our page

issue openedsafetytracker/open-sms-locator

Optimization of the algorithm for selecting the transmitted coordinates

the new algorithm is attached as a picture: image

created time in 12 days

issue openedsafetytracker/open-sms-locator

Add a source of coordinates (wifi, A-GPS, GPS/Glonass) in text message

it will look like text in brackets after the timecode: .... T=15:02 (WiFi) OR (A-GPS) OR (GPS) ... -- it depends on source.

created time in 12 days

PublicEvent

fork praetoriandroid/rpmalloc

Public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C

fork in 19 days

startedgradle/gradle-profiler-plugin

started time in 23 days

startedgithubnemo/CompileDaemon

started time in a month

startedvercel/next.js

started time in a month

startedsaket/press

started time in a month

startedgotk3/gotk3

started time in a month

startedint02h/primaree

started time in a month

PublicEvent

startedandroidx/constraintlayout

started time in 2 months

startedJakeWharton/dependency-tree-diff

started time in 2 months

startedopenjdk/jdk

started time in 2 months

PublicEvent

startedajalt/colormath

started time in 2 months

startedRestream/reindexer

started time in 2 months

startedint02h/primaree

started time in 2 months

startedfusesource/jansi

started time in 3 months

issue commentbolteu/screenshotty

version 1.0.3 on Android 10 using PixelCopy API fails, reverting to 1.0.0 uses MediaProjection and works

Thanks!

We will look into it as idea is good. If you wish you can even create a pull request for this issue.

Anyway, i looked a bit into it. Probably it is working as intended, coz the PixelCopy API I don't think it can be used to take screenshot of the whole device screen but only for your Activity. So it could be reasonable it returns a black screen, I was trying to capture whole screen screenshot using an invisible Activity on top. Reasonable to add the option to use whichever API one chooses, but still I think this is not a bug and the issue may be closed if you wish.....

valerino

comment created time in 3 months

startedint02h/primaree

started time in 3 months

startedajalt/mordant

started time in 3 months

issue commentbolteu/screenshotty

version 1.0.3 on Android 10 using PixelCopy API fails, reverting to 1.0.0 uses MediaProjection and works

Thanks!

We will look into it as idea is good. If you wish you can even create a pull request for this issue.

valerino

comment created time in 3 months

fork JakeWharton/tivi

Tivi is a work-in-progress TV show tracking Android app, which connects to Trakt.tv. It is still in its early stages of development and currently only contains two pieces of UI. It is under heavy development.

fork in 3 months

issue openedbolteu/screenshotty

version 1.0.3 on Android 10 using PixelCopy API fails, reverting to 1.0.0 uses MediaProjection and works

on Android 10 (Samsung A9) using the latest version with the following code you get a black screenshot:

public class ScreenshotActivity extends Activity {
    private ScreenshotManager _mgr = null;
    private ScreenshotResult _scrRes = null;

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        // ----> THIS IS NEVER CALLED
        super.onActivityResult(requestCode, resultCode, data);
        _mgr.onActivityResult(requestCode, resultCode, data);
        finishActivity(requestCode);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LogUtils.logD();

        // setup screenshotty
        ScreenshotManagerBuilder bld = new ScreenshotManagerBuilder(this);
        _mgr = bld.build();
        _scrRes = _mgr.makeScreenshot();

        // observe the result
        _scrRes.observe((result) -> {
            // ----> THIS IS CALLED, BUT THE SCREENSHOT IS ALL BLACK
            LogUtils.logD();
            Screenshot scr = result;
            ModScreenshot.instance().addEvidence(scr);
            finish();
            return Unit.INSTANCE;
        }, (ex -> {
            // failure
            LogUtils.logE((Throwable)ex);
            finish();
            return Unit.INSTANCE;
        }));
    }
}

after a few digging around, i think it's the new Pixel API which fails somehow (but still report success), and that is used as default on android 10. as you can see from the comment, the observe successful callback is called without the OnActivityResult() handler called first, thus resulting in the black screenshot.

reverting to version 1.0.0 (which uses the mediaprojection api) works correctly, btw .... still, the PixelCopy API implementation is probably flawed/wrong/not applicable. i would suggest to offer a way to select the API to use instead, without defaulting 'blindly'.... unless until you find a workaround.

cheers!

created time in 3 months

more