Change background animation in IntroActivity from Video to GIF.
The video background animation was giving errors on Android Lollipop and wasn't displaying correctly. Searching on the internet I found that the encoding of the video could be the problem but tested with many different encoding profiles (H.264 high, main, baseline) and none of them solved the issue so I finally gave up and converted the video back to a GIF and used that one.
This commit is contained in:
parent
4ba6299822
commit
36d97e8166
6 changed files with 68 additions and 78 deletions
|
@ -11,6 +11,11 @@ kapt {
|
|||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url 'https://maven.google.com' }
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 27
|
||||
defaultConfig {
|
||||
|
@ -65,9 +70,6 @@ dependencies {
|
|||
//testCompile 'com.android.support.test:runner:1.0.1'
|
||||
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
|
||||
implementation 'com.android.support:appcompat-v7:27.1.1'
|
||||
implementation 'com.github.bumptech.glide:glide:4.7.1'
|
||||
// Glide v4 uses this new annotation processor -- see https://bumptech.github.io/glide/doc/generatedapi.html
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
|
||||
implementation 'com.android.support:support-v4:27.1.1'
|
||||
implementation 'com.android.support:design:27.1.1'
|
||||
implementation 'com.android.support:cardview-v7:27.1.1'
|
||||
|
@ -119,5 +121,9 @@ dependencies {
|
|||
kapt "android.arch.lifecycle:compiler:1.1.1"
|
||||
kapt "android.arch.persistence.room:compiler:1.1.0"
|
||||
|
||||
// Glide dependencies
|
||||
implementation 'com.github.bumptech.glide:glide:4.7.1'
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
|
||||
|
||||
debugImplementation 'com.amitshekhar.android:debug-db:1.0.4'
|
||||
}
|
||||
|
|
7
app/proguard-rules.pro
vendored
7
app/proguard-rules.pro
vendored
|
@ -23,3 +23,10 @@
|
|||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
|
||||
-keep public class * implements com.bumptech.glide.module.GlideModule
|
||||
-keep public class * extends com.bumptech.glide.module.AppGlideModule
|
||||
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
|
||||
**[] $VALUES;
|
||||
public *;
|
||||
}
|
|
@ -2,15 +2,15 @@ package cy.agorise.crystalwallet.activities;
|
|||
|
||||
import android.arch.lifecycle.ViewModelProviders;
|
||||
import android.content.Intent;
|
||||
import android.media.MediaPlayer;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.view.SurfaceHolder;
|
||||
import android.view.SurfaceView;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.thekhaeng.pushdownanim.PushDownAnim;
|
||||
|
||||
import butterknife.BindView;
|
||||
|
@ -22,19 +22,19 @@ import cy.agorise.crystalwallet.viewmodels.AccountSeedListViewModel;
|
|||
|
||||
public class IntroActivity extends CustomActivity {
|
||||
|
||||
@BindView(R.id.surface_view)
|
||||
public SurfaceView mSurfaceView;
|
||||
@BindView(R.id.ivAnimation)
|
||||
ImageView ivAnimation;
|
||||
|
||||
@BindView(R.id.btnCreateAccount)
|
||||
public Button btnCreateAccount;
|
||||
Button btnCreateAccount;
|
||||
|
||||
@BindView(R.id.btnImportAccount)
|
||||
public Button btnImportAccount;
|
||||
Button btnImportAccount;
|
||||
|
||||
/*
|
||||
* For the window animation
|
||||
* */
|
||||
private MediaPlayer mediaPlayer;
|
||||
// private MediaPlayer mediaPlayer;
|
||||
|
||||
|
||||
|
||||
|
@ -46,8 +46,13 @@ public class IntroActivity extends CustomActivity {
|
|||
|
||||
ButterKnife.bind(this);
|
||||
|
||||
Glide.with(this)
|
||||
.load(R.drawable.appbar_background)
|
||||
.apply(new RequestOptions().centerCrop())
|
||||
.into(ivAnimation);
|
||||
|
||||
/*
|
||||
* Integration of library with button efects
|
||||
* Integration of library with button effects
|
||||
* */
|
||||
PushDownAnim.setPushDownAnimTo(btnCreateAccount)
|
||||
.setOnClickListener( new View.OnClickListener(){
|
||||
|
@ -64,53 +69,23 @@ public class IntroActivity extends CustomActivity {
|
|||
}
|
||||
} );
|
||||
|
||||
// Appbar animation
|
||||
mSurfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
|
||||
@Override
|
||||
public void surfaceCreated(SurfaceHolder surfaceHolder) {
|
||||
//Log.d(TAG,"surfaceCreated");
|
||||
mediaPlayer = MediaPlayer.create(IntroActivity.this, R.raw.appbar_background);
|
||||
mediaPlayer.setDisplay(mSurfaceView.getHolder());
|
||||
mediaPlayer.setLooping(true);
|
||||
mediaPlayer.start();
|
||||
}
|
||||
//Checks if the user has any seed created
|
||||
AccountSeedListViewModel accountSeedListViewModel = ViewModelProviders.of(this).get(AccountSeedListViewModel.class);
|
||||
|
||||
@Override
|
||||
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
|
||||
//Log.d(TAG,"surfaceChanged");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
|
||||
//Log.d(TAG,"surfaceDestroyed");
|
||||
//Log.d(TAG,"surfaceDestroyed");
|
||||
mediaPlayer.stop();
|
||||
mediaPlayer.release();
|
||||
}
|
||||
});
|
||||
|
||||
//this.getApplication().registerActivityLifecycleCallbacks(CrystalSecurityMonitor.getInstance(this));
|
||||
|
||||
|
||||
|
||||
|
||||
//Checks if the user has any seed created
|
||||
AccountSeedListViewModel accountSeedListViewModel = ViewModelProviders.of(this).get(AccountSeedListViewModel.class);
|
||||
|
||||
if (accountSeedListViewModel.accountSeedsCount() == 0) {
|
||||
//If the user doesn't have any seeds created, then
|
||||
//send the user to create/import an account
|
||||
//Intent intent = new Intent(this, AccountSeedsManagementActivity.class);
|
||||
//Intent intent = new Intent(this, ImportSeedActivity.class);
|
||||
//Intent intent = new Intent(this, CreateSeedActivity.class);
|
||||
//startActivity(intent);
|
||||
} else {
|
||||
//Intent intent = new Intent(this, CreateSeedActivity.class);
|
||||
Intent intent = new Intent(this, BoardActivity.class);
|
||||
//Intent intent = new Intent(this, PocketRequestActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
if (accountSeedListViewModel.accountSeedsCount() == 0) {
|
||||
//If the user doesn't have any seeds created, then
|
||||
//send the user to create/import an account
|
||||
//Intent intent = new Intent(this, AccountSeedsManagementActivity.class);
|
||||
//Intent intent = new Intent(this, ImportSeedActivity.class);
|
||||
//Intent intent = new Intent(this, CreateSeedActivity.class);
|
||||
//startActivity(intent);
|
||||
} else {
|
||||
//Intent intent = new Intent(this, CreateSeedActivity.class);
|
||||
Intent intent = new Intent(this, BoardActivity.class);
|
||||
//Intent intent = new Intent(this, PocketRequestActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
/*CrystalDatabase db = CrystalDatabase.getAppDatabase(getApplicationContext());
|
||||
List<AccountSeed> seeds = RandomSeedGenerator.generateSeeds(2);
|
||||
|
@ -154,17 +129,6 @@ public class IntroActivity extends CustomActivity {
|
|||
startActivity(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
//Release the media player
|
||||
if(mediaPlayer!=null){
|
||||
mediaPlayer.release();
|
||||
mediaPlayer = null;
|
||||
}
|
||||
}
|
||||
|
||||
@OnClick(R.id.btnImportAccount)
|
||||
public void importAccount() {
|
||||
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package cy.agorise.crystalwallet.util;
|
||||
|
||||
import com.bumptech.glide.annotation.GlideModule;
|
||||
import com.bumptech.glide.module.AppGlideModule;
|
||||
|
||||
|
||||
/**
|
||||
* This function is used to generate a local Glide API accessible by a GlideApp call
|
||||
* which makes it easier to use more advanced Glide methods.
|
||||
* {more information - https://bumptech.github.io/glide/doc/generatedapi.html}
|
||||
*/
|
||||
@GlideModule
|
||||
public class MyAppGlideModule extends AppGlideModule {}
|
BIN
app/src/main/res/drawable/appbar_background.gif
Normal file
BIN
app/src/main/res/drawable/appbar_background.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 MiB |
|
@ -9,8 +9,8 @@
|
|||
android:background="@color/colorPrimary"
|
||||
tools:context="cy.agorise.crystalwallet.activities.IntroActivity">
|
||||
|
||||
<SurfaceView
|
||||
android:id="@+id/surface_view"
|
||||
<ImageView
|
||||
android:id="@+id/ivAnimation"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintDimensionRatio="2:1.2"
|
||||
|
@ -22,10 +22,10 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/colorPrimaryTransparent"
|
||||
app:layout_constraintTop_toTopOf="@id/surface_view"
|
||||
app:layout_constraintStart_toStartOf="@id/surface_view"
|
||||
app:layout_constraintEnd_toEndOf="@id/surface_view"
|
||||
app:layout_constraintBottom_toBottomOf="@id/surface_view"/>
|
||||
app:layout_constraintTop_toTopOf="@id/ivAnimation"
|
||||
app:layout_constraintStart_toStartOf="@id/ivAnimation"
|
||||
app:layout_constraintEnd_toEndOf="@id/ivAnimation"
|
||||
app:layout_constraintBottom_toBottomOf="@id/ivAnimation"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivLogo"
|
||||
|
@ -34,8 +34,8 @@
|
|||
android:contentDescription="@string/crystal_logo"
|
||||
android:src="@drawable/crystal_logo"
|
||||
tools:layout_editor_absoluteY="114dp"
|
||||
app:layout_constraintTop_toTopOf="@id/surface_view"
|
||||
app:layout_constraintBottom_toBottomOf="@id/surface_view"/>
|
||||
app:layout_constraintTop_toTopOf="@id/ivAnimation"
|
||||
app:layout_constraintBottom_toBottomOf="@id/ivAnimation"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvNewUser"
|
||||
|
@ -48,7 +48,7 @@
|
|||
app:layout_constraintBottom_toTopOf="@+id/btnCreateAccount"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintVertical_bias="0.4"
|
||||
app:layout_constraintTop_toBottomOf="@id/surface_view"
|
||||
app:layout_constraintTop_toBottomOf="@id/ivAnimation"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<Button
|
||||
|
|
Loading…
Reference in a new issue