Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/davideas/Slidr into david…
Browse files Browse the repository at this point in the history
…eas-master

Resolving conflicts from merge
  • Loading branch information
r0adkll committed Jan 11, 2016
2 parents 75af819 + 0260d65 commit f873ead
Show file tree
Hide file tree
Showing 7 changed files with 107 additions and 115 deletions.
26 changes: 25 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,16 +1,40 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
ext {
//App
libraryCode = 10
libraryVersion = '2.1.0'

//Support and Build tools version
minSdk = 14
targetSdk = 23
buildTools = '23.0.2'
supportLibrary = '23.1.1'

//Support Libraries dependencies
supportDependencies = [
design : "com.android.support:design:${supportLibrary}",
recyclerview : "com.android.support:recyclerview-v7:${supportLibrary}",
cardview : "com.android.support:cardview-v7:${supportLibrary}",
appcompat : "com.android.support:appcompat-v7:${supportLibrary}",
customtabs : "com.android.support:customtabs:${supportLibrary}",
support : "com.android.support:support-v13:${supportLibrary}",
annotations : "com.android.support:support-annotations:${supportLibrary}",
palette : "com.android.support:palette-v7:${supportLibrary}"
]

}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
classpath 'com.android.tools.build:gradle:1.5.0'
}
}

allprojects {
repositories {
jcenter()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
}
16 changes: 7 additions & 9 deletions example/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,15 @@ android {

defaultConfig {
applicationId "com.r0adkll.slidr.example"
minSdkVersion 22
targetSdkVersion 23
versionCode 1
versionName "1.0"
minSdkVersion minSdk
}

buildTypes {
release {

}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

lintOptions {
abortOnError false
Expand Down

This file was deleted.

19 changes: 14 additions & 5 deletions library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,31 @@ apply plugin: 'com.android.library'
apply plugin: 'maven'

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
compileSdkVersion targetSdk
buildToolsVersion buildTools

defaultConfig {
minSdkVersion 14
targetSdkVersion 23
minSdkVersion minSdk
targetSdkVersion targetSdk
versionCode libraryCode
versionName libraryVersion
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}

dependencies {
compile 'com.android.support:support-v4:23.0.1'
compile supportDependencies.support
}

apply from: '../gradle-mvn-push.gradle'
Expand Down
111 changes: 44 additions & 67 deletions library/src/main/java/com/r0adkll/slidr/Slidr.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,8 @@ public static SlidrInterface attach(Activity activity){
*/
public static SlidrInterface attach(final Activity activity, final int statusBarColor1, final int statusBarColor2){

// Hijack the decorview
ViewGroup decorView = (ViewGroup)activity.getWindow().getDecorView();
View oldScreen = decorView.getChildAt(0);
decorView.removeViewAt(0);

// Setup the slider panel and attach it to the decor
final SliderPanel panel = new SliderPanel(activity, oldScreen);
panel.setId(R.id.slidable_panel);
oldScreen.setId(R.id.slidable_content);
panel.addView(oldScreen);
decorView.addView(panel, 0);
// Setup the slider panel and attach it to the decor
final SliderPanel panel = initSliderPanel(activity, null);

// Set the panel slide listener for when it becomes closed or opened
panel.setOnPanelSlideListener(new SliderPanel.OnPanelSlideListener() {
Expand All @@ -75,7 +66,9 @@ public void onClosed() {
}

@Override
public void onOpened() {}
public void onOpened() {

}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
Expand All @@ -89,21 +82,8 @@ public void onSlideChange(float percent) {
}
});

// Setup the lock interface
SlidrInterface slidrInterface = new SlidrInterface() {
@Override
public void lock() {
panel.lock();
}

@Override
public void unlock() {
panel.unlock();
}
};

// Return the lock interface
return slidrInterface;
// Return the lock interface
return initInterface(panel);
}

/**
Expand All @@ -116,17 +96,8 @@ public void unlock() {
*/
public static SlidrInterface attach(final Activity activity, final SlidrConfig config){

// Hijack the decorview
ViewGroup decorView = (ViewGroup)activity.getWindow().getDecorView();
View oldScreen = decorView.getChildAt(0);
decorView.removeViewAt(0);

// Setup the slider panel and attach it to the decor
final SliderPanel panel = new SliderPanel(activity, oldScreen, config);
panel.setId(R.id.slidable_panel);
oldScreen.setId(R.id.slidable_content);
panel.addView(oldScreen);
decorView.addView(panel, 0);
final SliderPanel panel = initSliderPanel(activity, config);

// Set the panel slide listener for when it becomes closed or opened
panel.setOnPanelSlideListener(new SliderPanel.OnPanelSlideListener() {
Expand Down Expand Up @@ -177,24 +148,43 @@ public void onSlideChange(float percent) {
}
});

// Setup the lock interface
SlidrInterface slidrInterface = new SlidrInterface() {
@Override
public void lock() {
panel.lock();
}

@Override
public void unlock() {
panel.unlock();
}
};

// Return the lock interface
return slidrInterface;

return initInterface(panel);
}

private static SliderPanel initSliderPanel(final Activity activity, final SlidrConfig config) {
// Hijack the decorview
ViewGroup decorView = (ViewGroup)activity.getWindow().getDecorView();
View oldScreen = decorView.getChildAt(0);
decorView.removeViewAt(0);

// Setup the slider panel and attach it to the decor
SliderPanel panel = new SliderPanel(activity, oldScreen, config);
panel.setId(R.id.slidable_panel);
oldScreen.setId(R.id.slidable_content);
panel.addView(oldScreen);
decorView.addView(panel, 0);
return panel;
}

private static SlidrInterface initInterface(final SliderPanel panel) {
// Setup the lock interface
SlidrInterface slidrInterface = new SlidrInterface() {
@Override
public void lock() {
panel.lock();
}

@Override
public void unlock() {
panel.unlock();
}
};

// Return the lock interface
return slidrInterface;
}

/**
* Replace a viewgroup with the sliding mechanism
*
Expand Down Expand Up @@ -248,21 +238,8 @@ public void onSlideChange(float percent) {
}
});

// Setup the lock interface
SlidrInterface slidrInterface = new SlidrInterface() {
@Override
public void lock() {
panel.lock();
}

@Override
public void unlock() {
panel.unlock();
}
};

// Return the lock interface
return slidrInterface;
// Return the lock interface
return initInterface(panel);
}

}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.r0adkll.slidr.model;

import android.graphics.Color;
import android.os.Build;
import android.support.annotation.ColorInt;
import android.support.annotation.FloatRange;

Expand Down Expand Up @@ -149,7 +148,7 @@ public SlidrListener getListener(){

/**
* Return whether or not the set status bar colors are valid
* @return
* @return true if primary and secondary color are set
*/
public boolean areStatusBarColorsValid(){
return colorPrimary != -1 && colorSecondary != -1;
Expand Down
34 changes: 16 additions & 18 deletions library/src/main/java/com/r0adkll/slidr/widget/SliderPanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,14 @@
package com.r0adkll.slidr.widget;

import android.content.Context;
import android.graphics.Color;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.ViewGroupCompat;
import android.support.v4.widget.ViewDragHelper;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.FrameLayout;

import com.r0adkll.slidr.model.SlidrConfig;
import com.r0adkll.slidr.model.SlidrPosition;

import static com.r0adkll.slidr.model.SlidrPosition.*;

/**
* Project: PilotPass
Expand Down Expand Up @@ -55,28 +50,30 @@ public class SliderPanel extends FrameLayout {

private SlidrConfig mConfig;

/**
* Constructor
*
* @param context
*/
public SliderPanel(Context context) {
super(context);
}

/***********************************************************************************************
*
* Constructors
*
*/

public SliderPanel(Context context, View decorView) {
super(context);
mDecorView = decorView;
mConfig = new SlidrConfig.Builder().build();
init();
this(context, decorView, null);
}

public SliderPanel(Context context, View decorView, SlidrConfig config){
super(context);
mDecorView = decorView;
mConfig = config;
mConfig = (config == null ? new SlidrConfig.Builder().build() : config);
init();
}

/**
* Set the panel slide listener that gets called based on slider changes
* @param listener
* @param listener callback implementation
*/
public void setOnPanelSlideListener(OnPanelSlideListener listener){
mListener = listener;
Expand Down Expand Up @@ -337,7 +334,7 @@ public void onViewDragStateChanged(int state) {
private ViewDragHelper.Callback mRightCallback = new ViewDragHelper.Callback() {
@Override
public boolean tryCaptureView(View child, int pointerId) {
boolean edgeCase = mConfig.isEdgeOnly() ? mDragHelper.isEdgeTouched(mEdgePosition, pointerId) : true;
boolean edgeCase = !mConfig.isEdgeOnly() || mDragHelper.isEdgeTouched(mEdgePosition, pointerId);
return child.getId() == mDecorView.getId() && edgeCase;
}

Expand Down Expand Up @@ -765,7 +762,8 @@ public void onViewDragStateChanged(int state) {

/**
* Apply the scrim to the dim view
* @param percent
*
* @param percent dimming percentage
*/
public void applyScrim(float percent){
float alpha = (percent * (mConfig.getScrimStartAlpha() - mConfig.getScrimEndAlpha())) + mConfig.getScrimEndAlpha();
Expand Down

0 comments on commit f873ead

Please sign in to comment.