Android Exoplayer playing from local file – raw folder

Using ExoPlayer 2.6.1 (https://github.com/google/ExoPlayer)

R.raw.presentation is my presentation.mp4 file.
binding.videoPlayer is a SimpleExoPlayerView element in my xml view.

SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(context, new DefaultTrackSelector());
binding.videoPlayer.setPlayer(player);

final RawResourceDataSource rawResourceDataSource = new RawResourceDataSource(context);
DataSpec dataSpec = new DataSpec(RawResourceDataSource.buildRawResourceUri(R.raw.presentation));
try {
    rawResourceDataSource.open(dataSpec);

    DataSource.Factory factory = new DataSource.Factory() {
        @Override
        public DataSource createDataSource() {
            return rawResourceDataSource;
        }
    };
    MediaSource videoSource = new ExtractorMediaSource.Factory(factory).createMediaSource(rawResourceDataSource.getUri());
    player.prepare(videoSource);

} catch (RawResourceDataSource.RawResourceDataSourceException e) {
    e.printStackTrace();
}

Based on other snippets:

Changing server URL based on flavor and build type on Android Gradle

When developing an Android app I had the need of setting different server URL for each flavor, because it has a server instance for each company that uses our product. Also we use a development server and a production server, so I came to this problem, because there is no way to set a buildConfigField for each variant (company1Debug, company1Release, company2Debug, …), but only for builtType OR productFlavor.

To achieve this goal, I found on web a similar config in David Medenjak’s blog, that uses flavors with ext values to dynamically config the value of BuildConfig.URL. But I prefer to keep using buildTypes as I feel it’s semantically more accurate than having development and production flavors too.

android {
    buildTypes {
        debug {
        }
        release {
        }
    }

    productFlavors {
        company1 {
            versionNameSuffix "-company1"
            ext {
                server = [debug: "https://dev.company1.com.br", release: "https://company1.com.br"]
            }
        }
        company2 {
            versionNameSuffix "-company2"
            ext {
                server = [debug: "https://dev.company2.com.br", release: "https://company2.com.br"]
            }
        }
    }
    ...
}

I don’t have much experience with Groovy (Gradle language), but I used David’s idea to have ext values in each flavor. I created a “server” variable that is a dictionary, where the key is the build type and the value is the server URL that this variant (flavor+buildType) must use.

Then, we need a task to use the ext.server dictionary and set the buildConfigValue accordingly:
Continue reading

Mouse USB para de responder depois de 5 segundos no Ubuntu

No Ubuntu 15.04, após alguns segundos sem utilizar o mouse sem fio, era preciso movimentá-lo por alguns segundos para que ele voltasse a responder. Descobri que é uma configuração que suspende qualquer dispositivo USB que fique inativo por mais que alguns segundos.

 

A solução: remover o laptop-mode-tools e o powertop.

Na resposta original tem a configuração dentro do powertop, porém como falado a mudança não sobreviveu ao reboot (após o desligamento total). Não sei exatamente quais efeitos colaterais eu criei com isso, mas qualquer coisa é melhor que o mouse demorando para responder a cada minuto.

 

Existe a opção de mudar a configuração em /etc/laptop-mode/conf.d/usb-autosuspend.conf (CONTROL_USB_AUTOSUSPEND=0), porém no meu caso esse arquivo não existe, e mesmo criando ele com a configuração desejada o problema não foi resolvido.

 

Também teve esse problema? Essa solução resolveu? Comente abaixo.

Fonte: http://askubuntu.com/a/177375

Análise Notebook Dell Vostro 5480

A Dell recentemente lançou um novo modelo de notebook na linha Vostro, o Dell Vostro 5480. As principais mudanças em relação ao antecessor Vostro 5470 são: o processador de 5ª geração (Intel i7 5550u), a placa de vídeo nVidia GeForce 830M com 2GB dedicado, e a placa WiFi Intel Wireless 7265AGN, que garante que não haverá mais problema de conectividade como houve com o 5470.

Dell Vostro 5480

Esse modelo tem como público alvo quem tem interesse em portabilidade, por conta do seu peso bem reduzido (1,5kg sem touch screen, ou 1,6kg com touch screen), que surpreende mesmo tendo a tela de 14″, com dimensões também compactas. Para vencer o Vostro 5480 em portabilidade, só os notebooks da Apple, que custam mais de 5 mil reais. Lembrando que o Vostro 5480 está disponível na loja online da Dell por R$ 3.100 na versão i7 com 8 GB de RAM e touch screen.

Continue reading

Novidades no Android Studio – Google I/O 2015

No ano de 2013 a Google lançou o Android Studio, IDE voltada especialmente para o desenvolvimento de aplicativos Android, substituindo assim o Eclipse. A maior desvantagem nessa mudança foi nitidamente no tempo de compilação. Esse problema apareceu por conta da mudança de compilação que era feita com o Ant no Eclipse, e o Android Studio desde o começo utilizou o Gradle, que apesar disso trouxe boas facilidades de desenvolvimento.

google-io-android-studio-performance

Agora, com as melhorias anunciadas no Google I/O 2015, o Android Studio teve uma grande melhoria de velocidade de compilação. Projetos que antes demoravam na casa dos 50 segundos na atual versão 1.2 do Android Studio, agora demoram em torno de 5 segundos utilizando a versão 1.3 (a ser lançada nos próximos dias).

As novidades ainda incluem: Continue reading