mirror of
https://github.com/UnevenSoftware/LeafPic.git
synced 2026-03-13 08:01:35 +08:00
release signing stuff
clean
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -6,6 +6,10 @@
|
||||
*.iml
|
||||
/local.properties
|
||||
|
||||
# release
|
||||
/signing.properties
|
||||
*.jks
|
||||
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
|
||||
@@ -2,8 +2,6 @@ apply plugin: 'com.android.application'
|
||||
|
||||
repositories {
|
||||
maven { url "http://dl.bintray.com/dasar/maven" }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -38,11 +36,16 @@ android {
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
release
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
resValue "string", "app_name", "LeafPic"
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
|
||||
debug {
|
||||
@@ -116,3 +119,22 @@ dependencies {
|
||||
compile 'com.turingtechnologies.materialscrollbar:lib:10.0.3'
|
||||
compile 'de.psdev.licensesdialog:licensesdialog:1.8.0'
|
||||
}
|
||||
|
||||
Properties props = new Properties()
|
||||
def propFile = new File('signing.properties')
|
||||
if (propFile.canRead()) {
|
||||
props.load(new FileInputStream(propFile))
|
||||
|
||||
if (props != null && props.containsKey('STORE_FILE') && props.containsKey('KEY_ALIAS') && props.containsKey('PASSWORD')) {
|
||||
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
|
||||
android.signingConfigs.release.storePassword = props['PASSWORD']
|
||||
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
|
||||
android.signingConfigs.release.keyPassword = props['PASSWORD']
|
||||
} else {
|
||||
println 'signing.properties found but some entries are missing'
|
||||
android.buildTypes.release.signingConfig = null
|
||||
}
|
||||
} else {
|
||||
println 'signing.properties not found'
|
||||
android.buildTypes.release.signingConfig = null
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package org.horaapps.leafpic.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -331,7 +333,8 @@ public class MediaAdapter extends ThemedAdapter<MediaAdapter.ViewHolder> {
|
||||
|
||||
@Override
|
||||
public void refreshTheme(ThemeHelper themeHelper) {
|
||||
|
||||
icon.setColor(Color.WHITE);
|
||||
Log.wtf("asd", "asdasd");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,157 +0,0 @@
|
||||
package org.horaapps.leafpic.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.koushikdutta.ion.Ion;
|
||||
import com.mikepenz.community_material_typeface_library.CommunityMaterial;
|
||||
import com.mikepenz.iconics.view.IconicsImageView;
|
||||
|
||||
import org.horaapps.leafpic.R;
|
||||
import org.horaapps.leafpic.data.Media;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import horaapps.org.liz.ColorPalette;
|
||||
import horaapps.org.liz.ThemeHelper;
|
||||
|
||||
|
||||
/**
|
||||
* Created by dnld on 1/7/16.
|
||||
*/
|
||||
|
||||
public class OldMediaAdapter extends RecyclerView.Adapter<OldMediaAdapter.ViewHolder> {
|
||||
|
||||
private ArrayList<Media> medias;
|
||||
|
||||
private BitmapDrawable drawable;
|
||||
private View.OnClickListener mOnClickListener;
|
||||
private View.OnLongClickListener mOnLongClickListener;
|
||||
|
||||
public OldMediaAdapter(ArrayList<Media> ph , Context context) {
|
||||
medias = ph;
|
||||
updatePlaceholder(context);
|
||||
}
|
||||
|
||||
public void updatePlaceholder(Context context) {
|
||||
drawable = (BitmapDrawable) ThemeHelper.getPlaceHolder(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View v = LayoutInflater.from(parent.getContext()).inflate(org.horaapps.leafpic.R.layout.card_photo, parent, false);
|
||||
v.setOnClickListener(mOnClickListener);
|
||||
v.setOnLongClickListener(mOnLongClickListener);
|
||||
return new ViewHolder(v);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(final OldMediaAdapter.ViewHolder holder, int position) {
|
||||
|
||||
Media f = medias.get(position);
|
||||
|
||||
holder.path.setTag(f);
|
||||
|
||||
holder.icon.setVisibility(View.GONE);
|
||||
|
||||
if (f.isGif()) {
|
||||
Ion.with(holder.imageView.getContext())
|
||||
.load(f.getPath())
|
||||
.intoImageView(holder.imageView);
|
||||
holder.gifIcon.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
Glide.with(holder.imageView.getContext())
|
||||
.load(f.getUri())
|
||||
.asBitmap()
|
||||
.signature(f.getSignature())
|
||||
.centerCrop()
|
||||
.diskCacheStrategy(DiskCacheStrategy.RESULT)
|
||||
.thumbnail(0.5f)
|
||||
//.placeholder(drawable)
|
||||
.animate(R.anim.fade_in)//TODO:DONT WORK WELL
|
||||
.into(holder.imageView);
|
||||
holder.gifIcon.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if(f.isVideo()) {
|
||||
holder.icon.setVisibility(View.VISIBLE);
|
||||
holder.path.setVisibility(View.VISIBLE);
|
||||
holder.path.setText(f.getName());
|
||||
holder.path.setTextColor(ContextCompat.getColor(holder.path.getContext(), org.horaapps.leafpic.R.color.md_dark_primary_text));
|
||||
holder.path.setBackgroundColor(
|
||||
ColorPalette.getTransparentColor(
|
||||
ContextCompat.getColor(holder.path.getContext(), org.horaapps.leafpic.R.color.md_black_1000), 100));
|
||||
holder.icon.setIcon(CommunityMaterial.Icon.cmd_play_circle);
|
||||
//ANIMS
|
||||
holder.icon.animate().alpha(1).setDuration(250);
|
||||
holder.path.animate().alpha(1).setDuration(250);
|
||||
|
||||
} else {
|
||||
holder.icon.setVisibility(View.GONE);
|
||||
holder.path.setVisibility(View.GONE);
|
||||
|
||||
holder.icon.animate().alpha(0).setDuration(250);
|
||||
holder.path.animate().alpha(0).setDuration(250);
|
||||
}
|
||||
|
||||
if (f.isSelected()) {
|
||||
holder.icon.setIcon(CommunityMaterial.Icon.cmd_check);
|
||||
holder.icon.setVisibility(View.VISIBLE);
|
||||
holder.imageView.setColorFilter(0x88000000, PorterDuff.Mode.SRC_ATOP);
|
||||
holder.layout.setPadding(15,15,15,15);
|
||||
//ANIMS
|
||||
holder.icon.animate().alpha(1).setDuration(250);
|
||||
//holder.layout.setBackgroundColor(ThemeHelper.getPrimaryColor(holder.path.getContext()));
|
||||
} else {
|
||||
holder.imageView.clearColorFilter();
|
||||
holder.layout.setPadding(0,0,0,0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return medias.size();
|
||||
}
|
||||
|
||||
public void setOnClickListener(View.OnClickListener lis) {
|
||||
mOnClickListener = lis;
|
||||
}
|
||||
|
||||
public void setOnLongClickListener(View.OnLongClickListener lis) {
|
||||
mOnLongClickListener = lis;
|
||||
}
|
||||
|
||||
public void swapDataSet(ArrayList<Media> asd) {
|
||||
medias.clear();
|
||||
medias.addAll(asd);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
ImageView imageView; View gifIcon, layout;
|
||||
TextView path; IconicsImageView icon;
|
||||
|
||||
ViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
layout = itemView.findViewById(org.horaapps.leafpic.R.id.media_card_layout);
|
||||
imageView = (ImageView) itemView.findViewById(org.horaapps.leafpic.R.id.photo_preview);
|
||||
gifIcon = itemView.findViewById(org.horaapps.leafpic.R.id.gif_icon);
|
||||
icon = (IconicsImageView) itemView.findViewById(org.horaapps.leafpic.R.id.icon);
|
||||
path = (TextView) itemView.findViewById(org.horaapps.leafpic.R.id.photo_path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ import android.util.Log;
|
||||
import org.horaapps.leafpic.data.filter.FilterMode;
|
||||
import org.horaapps.leafpic.data.sort.SortingMode;
|
||||
import org.horaapps.leafpic.data.sort.SortingOrder;
|
||||
import org.horaapps.leafpic.new_way.CursorHandler;
|
||||
import org.horaapps.leafpic.util.StringUtils;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -20,8 +20,8 @@ import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.util.List;
|
||||
|
||||
import static org.horaapps.leafpic.new_way.BitmapUtils.addWhiteBorder;
|
||||
import static org.horaapps.leafpic.new_way.BitmapUtils.getCroppedBitmap;
|
||||
import static org.horaapps.leafpic.util.BitmapUtils.addWhiteBorder;
|
||||
import static org.horaapps.leafpic.util.BitmapUtils.getCroppedBitmap;
|
||||
|
||||
/**
|
||||
* Created by dnld on 3/25/17.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.horaapps.leafpic.new_way;
|
||||
package org.horaapps.leafpic.data;
|
||||
|
||||
import android.database.Cursor;
|
||||
|
||||
@@ -20,9 +20,9 @@ import java.util.HashSet;
|
||||
*/
|
||||
public class HandlingAlbums extends SQLiteOpenHelper {
|
||||
|
||||
private static final int DATABASE_VERSION = 8;
|
||||
private static final String DATABASE_NAME = "tracked_albums.db";
|
||||
private static final String TABLE_ALBUMS = "tracked_albums";
|
||||
private static final int DATABASE_VERSION = 12;
|
||||
private static final String DATABASE_NAME = "folders.db";
|
||||
private static final String TABLE_ALBUMS = "folders";
|
||||
|
||||
public static final int EXCLUDED = 1;
|
||||
public static final int INCLUDED = 2;
|
||||
@@ -58,10 +58,13 @@ public class HandlingAlbums extends SQLiteOpenHelper {
|
||||
ALBUM_STATUS + " INTEGER, " +
|
||||
ALBUM_SORTING_MODE + " INTEGER, " +
|
||||
ALBUM_SORTING_ORDER + " INTEGER)");
|
||||
|
||||
db.execSQL(String.format("CREATE UNIQUE INDEX idx_path ON %s (%s)", TABLE_ALBUMS, ALBUM_PATH));
|
||||
}
|
||||
|
||||
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
|
||||
db.execSQL("DROP TABLE IF EXISTS " + TABLE_ALBUMS);
|
||||
db.execSQL("DROP INDEX IF EXISTS idx_path");
|
||||
onCreate(db);
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ import android.provider.MediaStore;
|
||||
import com.drew.lang.GeoLocation;
|
||||
import com.drew.lang.annotations.NotNull;
|
||||
|
||||
import org.horaapps.leafpic.new_way.CursorHandler;
|
||||
import org.horaapps.leafpic.util.MediaSignature;
|
||||
import org.horaapps.leafpic.util.StringUtils;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.horaapps.leafpic.data.provider;
|
||||
import android.content.ContentResolver;
|
||||
import android.database.Cursor;
|
||||
|
||||
import org.horaapps.leafpic.new_way.CursorHandler;
|
||||
import org.horaapps.leafpic.data.CursorHandler;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.CardView;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
@@ -100,7 +99,6 @@ public class AlbumsFragment extends BaseFragment {
|
||||
}
|
||||
|
||||
private void displayAlbums() {
|
||||
|
||||
adapter.clear();
|
||||
SQLiteDatabase db = HandlingAlbums.getInstance(getContext()).getReadableDatabase();
|
||||
CPHelper.getAlbums(getContext(), hidden, excuded, sortingMode(), sortingOrder())
|
||||
@@ -111,8 +109,7 @@ public class AlbumsFragment extends BaseFragment {
|
||||
album -> adapter.add(album),
|
||||
throwable -> {
|
||||
refresh.setRefreshing(false);
|
||||
|
||||
Log.wtf("asd", throwable);
|
||||
throwable.printStackTrace();
|
||||
},
|
||||
() -> {
|
||||
db.close();
|
||||
|
||||
@@ -99,6 +99,7 @@ public class RvMediaFragment extends BaseFragment {
|
||||
|
||||
adapter.clear();
|
||||
|
||||
|
||||
CPHelper.getMedia(getContext(), album, sortingMode(), sortingOrder())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
package org.horaapps.leafpic.new_way;
|
||||
|
||||
|
||||
import com.jakewharton.rxrelay2.PublishRelay;
|
||||
|
||||
import org.horaapps.leafpic.data.Album;
|
||||
import org.horaapps.leafpic.data.Media;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class DataManager {
|
||||
|
||||
private static final String TAG = "DataManager";
|
||||
|
||||
private static DataManager instance;
|
||||
|
||||
private PublishRelay<Media> mediaRelay = PublishRelay.create();
|
||||
private PublishRelay<Album> albumsRelay = PublishRelay.create();
|
||||
|
||||
|
||||
|
||||
/* private BriteDatabase whitelistDatabase;
|
||||
private Subscription whitelistSubscription;
|
||||
private BehaviorRelay<List<WhitelistFolder>> whitelistRelay = BehaviorRelay.create();*/
|
||||
|
||||
public static DataManager getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new DataManager();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
private DataManager() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
||||
public Observable<List<Media>> getSongsRelay() {
|
||||
|
||||
if (songsSubscription == null || songsSubscription.isUnsubscribed()) {
|
||||
|
||||
Observable<List<Media>> songsObservable = SqlBriteUtils.createContinuousQuery(ShuttleApplication.make(), Song::new, Song.getQuery());
|
||||
|
||||
songsSubscription = (songs) ->
|
||||
{
|
||||
List<Media> result = songs;
|
||||
|
||||
//Filter out blacklisted songs
|
||||
if (!blacklistedSongs.isEmpty()) {
|
||||
result = Stream.of(songs)
|
||||
.filter(song -> !Stream.of(blacklistedSongs)
|
||||
.anyMatch(blacklistedSong -> blacklistedSong.songId == song.id))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
//Filter out non-whitelisted folders
|
||||
if (!whitelistFolders.isEmpty()) {
|
||||
result = Stream.of(result)
|
||||
.filter(song -> Stream.of(whitelistFolders)
|
||||
.anyMatch(whitelistFolder -> StringUtils.containsIgnoreCase(song.path, whitelistFolder.folder)))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
return result;
|
||||
}).subscribe(mediaRelay, error -> Crashlytics.log("getSongsRelay error: " + error.getMessage()));
|
||||
}
|
||||
return mediaRelay.subscribeOn(Schedulers.io()).map(ArrayList::new);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public Observable<List<Media>> getSongsObservable(Func1<Media, Boolean> predicate) {
|
||||
return getSongsRelay()
|
||||
.first()
|
||||
.flatMap(Observable::from)
|
||||
.filter(predicate).toList();
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* *//**
|
||||
* @return a {@link BriteDatabase} wrapping the whitelist SqliteOpenHelper.
|
||||
*//*
|
||||
public BriteDatabase getWhitelistDatabase() {
|
||||
if (whitelistDatabase == null) {
|
||||
whitelistDatabase = new SqlBrite.Builder().build()
|
||||
.wrapDatabaseHelper(new WhitelistDbOpenHelper(ShuttleApplication.make()), Schedulers.io());
|
||||
}
|
||||
return whitelistDatabase;
|
||||
}
|
||||
|
||||
*//**
|
||||
* @return a <b>continuous</b> stream of {@link List<WhitelistFolder>>}, backed by a behavior relay for caching getCursor results.
|
||||
*//*
|
||||
private Observable<List<WhitelistFolder>> getWhitelistRelay() {
|
||||
if (whitelistSubscription == null || whitelistSubscription.isUnsubscribed()) {
|
||||
whitelistSubscription = getWhitelistDatabase()
|
||||
.createQuery(WhitelistDbOpenHelper.TABLE_FOLDERS, "SELECT * FROM " + WhitelistDbOpenHelper.TABLE_FOLDERS)
|
||||
.mapToList(WhitelistFolder::new)
|
||||
.subscribe(whitelistRelay, error -> Crashlytics.log("getWhitelistRelay error: " + error.getMessage()));
|
||||
}
|
||||
return whitelistRelay.subscribeOn(Schedulers.io()).map(ArrayList::new);
|
||||
}*/
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.horaapps.leafpic.new_way;
|
||||
package org.horaapps.leafpic.util;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
Reference in New Issue
Block a user