Skip to content
Browse files

Apk and pictures.

  • Loading branch information...
1 parent 00c22b8 commit 362501ecfd89e1bf54bb087244fbbac3002384bb @Nightonke committed
Showing with 668 additions and 94 deletions.
  1. BIN Pictures/basic.png
  2. BIN Pictures/blue.png
  3. BIN Pictures/clear.png
  4. BIN Pictures/ease.gif
  5. BIN Pictures/in_out.gif
  6. BIN Pictures/keyboard.gif
  7. BIN Pictures/operations.png
  8. BIN Pictures/red.png
  9. BIN Pictures/test.png
  10. BIN Pictures/unclear.png
  11. +1 −1 app/build.gradle
  12. BIN app/src/main/assets/fonts/San Francisco Regular.ttf
  13. +85 −23 app/src/main/java/com/nightonke/blurlockviewsample/SettingsActivity.java
  14. +165 −24 app/src/main/java/com/nightonke/blurlockviewsample/ShowActivity.java
  15. BIN app/src/main/res/drawable/image_1.jpg
  16. BIN app/src/main/res/drawable/ok.png
  17. +140 −8 app/src/main/res/layout/activity_settings.xml
  18. +3 −3 app/src/main/res/layout/activity_show.xml
  19. +14 −0 app/src/main/res/menu/menu.xml
  20. BIN app/src/main/res/mipmap-hdpi/ic_launcher.png
  21. BIN app/src/main/res/mipmap-mdpi/ic_launcher.png
  22. BIN app/src/main/res/mipmap-xhdpi/ic_launcher.png
  23. BIN app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  24. BIN app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  25. +14 −0 app/src/main/res/values/arrays.xml
  26. +34 −1 app/src/main/res/values/strings.xml
  27. +28 −1 blurlockview/build.gradle
  28. +0 −9 blurlockview/src/main/java/com/nightonke/blurlockview/BigButtonView.java
  29. +152 −1 blurlockview/src/main/java/com/nightonke/blurlockview/BlurLockView.java
  30. +20 −6 blurlockview/src/main/java/com/nightonke/blurlockview/BlurView.java
  31. +2 −1 blurlockview/src/main/java/com/nightonke/blurlockview/Directions/HideType.java
  32. +2 −1 blurlockview/src/main/java/com/nightonke/blurlockview/Directions/ShowType.java
  33. +0 −2 blurlockview/src/main/java/com/nightonke/blurlockview/SmallButtonView.java
  34. +4 −7 blurlockview/src/main/res/layout/big_button_view.xml
  35. +1 −1 blurlockview/src/main/res/values/defaults.xml
  36. +0 −5 blurlockview/src/main/res/values/styles.xml
  37. +3 −0 build.gradle
View
BIN Pictures/basic.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Pictures/blue.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Pictures/clear.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Pictures/ease.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Pictures/in_out.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Pictures/keyboard.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Pictures/operations.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Pictures/red.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Pictures/test.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Pictures/unclear.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
2 app/build.gradle
@@ -26,7 +26,7 @@ dependencies {
compile 'com.android.support:appcompat-v7:23.2.0'
compile project(':blurlockview')
- compile('com.github.afollestad.material-dialogs:core:0.8.5.7@aar') {
+ compile('com.github.afollestad.material-dialogs:commons:0.8.5.7@aar') {
transitive = true
}
}
View
BIN app/src/main/assets/fonts/San Francisco Regular.ttf
Binary file not shown.
View
108 app/src/main/java/com/nightonke/blurlockviewsample/SettingsActivity.java
@@ -1,9 +1,13 @@
package com.nightonke.blurlockviewsample;
import android.content.Intent;
+import android.net.Uri;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
@@ -20,10 +24,11 @@
private SeekBar hideDuration;
private TextView hideDurationTextView;
- private RadioButton[] showDirections = new RadioButton[4];
- private RadioButton[] hideDirections = new RadioButton[4];
-
- private RadioButton[] easeTypes = new RadioButton[31];
+ private RadioButton[] showDirections = new RadioButton[5];
+ private RadioButton[] hideDirections = new RadioButton[5];
+
+ private RadioButton[] showEaseTypes = new RadioButton[31];
+ private RadioButton[] hideEaseTypes = new RadioButton[31];
private FloatingActionButton go;
@@ -34,11 +39,11 @@ protected void onCreate(Bundle savedInstanceState) {
showDuration = (SeekBar)findViewById(R.id.show_duration);
showDurationTextView = (TextView)findViewById(R.id.show_duration_text);
- showDurationTextView.setText((showDuration.getProgress() * 500 + 1000) + "ms");
+ showDurationTextView.setText((showDuration.getProgress() * 500) + "ms");
showDuration.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- showDurationTextView.setText((progress * 500 + 1000) + "ms");
+ showDurationTextView.setText((progress * 500) + "ms");
}
@Override
@@ -54,11 +59,11 @@ public void onStopTrackingTouch(SeekBar seekBar) {
hideDuration = (SeekBar)findViewById(R.id.hide_duration);
hideDurationTextView = (TextView)findViewById(R.id.hide_duration_text);
- hideDurationTextView.setText((hideDuration.getProgress() * 500 + 1000) + "ms");
+ hideDurationTextView.setText((hideDuration.getProgress() * 500) + "ms");
hideDuration.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- hideDurationTextView.setText((progress * 500 + 1000) + "ms");
+ hideDurationTextView.setText((progress * 500) + "ms");
}
@Override
@@ -73,7 +78,7 @@ public void onStopTrackingTouch(SeekBar seekBar) {
});
String[] showDirectionsArray = getResources().getStringArray(R.array.show_direction);
- for (int i = 0; i < 4; i++) {
+ for (int i = 0; i < 5; i++) {
showDirections[i] = new RadioButton(this);
showDirections[i].setText(showDirectionsArray[i]);
showDirections[i].setLayoutParams(new ViewGroup.LayoutParams(
@@ -84,7 +89,7 @@ public void onStopTrackingTouch(SeekBar seekBar) {
showDirections[0].setChecked(true);
String[] hideDirectionsArray = getResources().getStringArray(R.array.hide_direction);
- for (int i = 0; i < 4; i++) {
+ for (int i = 0; i < 5; i++) {
hideDirections[i] = new RadioButton(this);
hideDirections[i].setText(hideDirectionsArray[i]);
hideDirections[i].setLayoutParams(new ViewGroup.LayoutParams(
@@ -94,16 +99,27 @@ public void onStopTrackingTouch(SeekBar seekBar) {
}
hideDirections[0].setChecked(true);
- String[] easeTypesArray = getResources().getStringArray(R.array.ease_type);
+ String[] showEaseTypesArray = getResources().getStringArray(R.array.ease_type);
+ for (int i = 0; i < 31; i++) {
+ showEaseTypes[i] = new RadioButton(this);
+ showEaseTypes[i].setText(showEaseTypesArray[i]);
+ showEaseTypes[i].setLayoutParams(new ViewGroup.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT,
+ ViewGroup.LayoutParams.WRAP_CONTENT));
+ ((ViewGroup) findViewById(R.id.show_ease_type)).addView(showEaseTypes[i]);
+ }
+ showEaseTypes[30].setChecked(true);
+
+ String[] hideEaseTypesArray = getResources().getStringArray(R.array.ease_type);
for (int i = 0; i < 31; i++) {
- easeTypes[i] = new RadioButton(this);
- easeTypes[i].setText(easeTypesArray[i]);
- easeTypes[i].setLayoutParams(new ViewGroup.LayoutParams(
+ hideEaseTypes[i] = new RadioButton(this);
+ hideEaseTypes[i].setText(hideEaseTypesArray[i]);
+ hideEaseTypes[i].setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
- ((ViewGroup) findViewById(R.id.group_ease_type)).addView(easeTypes[i]);
+ ((ViewGroup) findViewById(R.id.hide_ease_type)).addView(hideEaseTypes[i]);
}
- easeTypes[30].setChecked(true);
+ hideEaseTypes[30].setChecked(true);
go = (FloatingActionButton)findViewById(R.id.go);
go.setOnClickListener(new View.OnClickListener() {
@@ -124,13 +140,21 @@ public void onClick(View v) {
Intent intent = new Intent(SettingsActivity.this, ShowActivity.class);
intent.putExtra("PASSWORD_TYPE", getPasswordType());
- intent.putExtra("SHOW_DURATION", showDuration.getProgress() * 500 + 1000);
- intent.putExtra("HIDE_DURATION", hideDuration.getProgress() * 500 + 1000);
+ intent.putExtra("SHOW_DURATION", showDuration.getProgress() * 500);
+ intent.putExtra("HIDE_DURATION", hideDuration.getProgress() * 500);
intent.putExtra("SHOW_DIRECTION", getShowDirection());
intent.putExtra("HIDE_DIRECTION", getHideDirection());
- intent.putExtra("EASE_TYPE", getEaseType());
+ intent.putExtra("SHOW_EASE_TYPE", getShowEaseType());
+ intent.putExtra("HIDE_EASE_TYPE", getHideEaseType());
intent.putExtra("PASSWORD",
((EditText)findViewById(R.id.password)).getText().toString());
+ intent.putExtra("TITLE",
+ ((EditText)findViewById(R.id.title)).getText().toString());
+ intent.putExtra("LEFT_BUTTON",
+ ((EditText)findViewById(R.id.left_button)).getText().toString());
+ intent.putExtra("RIGHT_BUTTON",
+ ((EditText)findViewById(R.id.right_button)).getText().toString());
+ intent.putExtra("TYPEFACE", getTypeface());
startActivity(intent);
}
});
@@ -144,18 +168,56 @@ private String getPasswordType() {
return "";
}
+ private String getTypeface() {
+ switch (((RadioGroup)findViewById(R.id.group_typeface)).getCheckedRadioButtonId()) {
+ case R.id.san: return "SAN";
+ case R.id.default_typeface: return "DEFAULT";
+ }
+ return "";
+ }
+
private int getShowDirection() {
- for (int i = 0; i < 4; i++) if (showDirections[i].isChecked()) return i;
+ for (int i = 0; i < showDirections.length; i++)
+ if (showDirections[i].isChecked()) return i;
return 0;
}
private int getHideDirection() {
- for (int i = 0; i < 4; i++) if (hideDirections[i].isChecked()) return i;
+ for (int i = 0; i < hideDirections.length; i++)
+ if (hideDirections[i].isChecked()) return i;
return 0;
}
- private int getEaseType() {
- for (int i = 0; i < 31; i++) if (easeTypes[i].isChecked()) return i;
+ private int getShowEaseType() {
+ for (int i = 0; i < 31; i++) if (showEaseTypes[i].isChecked()) return i;
return 0;
}
+
+ private int getHideEaseType() {
+ for (int i = 0; i < 31; i++) if (hideEaseTypes[i].isChecked()) return i;
+ return 0;
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.menu, menu);
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.action_github:
+ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(
+ "https://github.com/Nightonke/BlurLockView")));
+ return true;
+ case R.id.action_developer:
+ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(
+ "https://github.com/Nightonke")));
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
}
View
189 app/src/main/java/com/nightonke/blurlockviewsample/ShowActivity.java
@@ -1,13 +1,20 @@
package com.nightonke.blurlockviewsample;
+import android.graphics.Typeface;
import android.os.Bundle;
+import android.support.annotation.ColorInt;
+import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
+import android.text.InputType;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.Toast;
+import com.afollestad.materialdialogs.DialogAction;
+import com.afollestad.materialdialogs.MaterialDialog;
+import com.afollestad.materialdialogs.color.ColorChooserDialog;
import com.nightonke.blurlockview.BlurLockView;
import com.nightonke.blurlockview.Directions.HideType;
import com.nightonke.blurlockview.Directions.ShowType;
@@ -18,10 +25,11 @@
implements
View.OnClickListener,
BlurLockView.OnPasswordInputListener,
- BlurLockView.OnLeftButtonClickListener {
+ BlurLockView.OnLeftButtonClickListener,
+ ColorChooserDialog.ColorCallback {
private BlurLockView blurLockView;
- private ImageView imageView;
+ private ImageView imageView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -33,17 +41,23 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_show);
- imageView = (ImageView)findViewById(R.id.image);
+ imageView1 = (ImageView)findViewById(R.id.image_1);
blurLockView = (BlurLockView)findViewById(R.id.blurlockview);
- blurLockView.setBlurredView(imageView);
+
+ blurLockView.setBlurredView(imageView1);
+
blurLockView.setCorrectPassword(getIntent().getStringExtra("PASSWORD"));
+ blurLockView.setTitle(getIntent().getStringExtra("TITLE"));
+ blurLockView.setLeftButton(getIntent().getStringExtra("LEFT_BUTTON"));
+ blurLockView.setRightButton(getIntent().getStringExtra("RIGHT_BUTTON"));
+ blurLockView.setTypeface(getTypeface());
blurLockView.setType(getPasswordType(), false);
blurLockView.setOnLeftButtonClickListener(this);
blurLockView.setOnPasswordInputListener(this);
- imageView.setOnClickListener(this);
+ imageView1.setOnClickListener(this);
}
private Password getPasswordType() {
@@ -54,6 +68,14 @@ else if ("PASSWORD_NUMBER".equals(getIntent().getStringExtra("PASSWORD_TYPE")))
return Password.NUMBER;
}
+ private Typeface getTypeface() {
+ if ("SAN".equals(getIntent().getStringExtra("TYPEFACE")))
+ return Typeface.createFromAsset(getAssets(),"fonts/San Francisco Regular.ttf");
+ else if ("DEFAULT".equals(getIntent().getStringExtra("TYPEFACE")))
+ return Typeface.DEFAULT;
+ return Typeface.DEFAULT;
+ }
+
@Override
public void correct(String inputPassword) {
Toast.makeText(this,
@@ -62,7 +84,7 @@ public void correct(String inputPassword) {
blurLockView.hide(
getIntent().getIntExtra("HIDE_DURATION", 1000),
getHideType(getIntent().getIntExtra("HIDE_DIRECTION", 0)),
- getEaseType(getIntent().getIntExtra("EASE_TYPE", 30)));
+ getEaseType(getIntent().getIntExtra("HIDE_EASE_TYPE", 30)));
}
@Override
@@ -80,28 +102,140 @@ public void input(String inputPassword) {
@Override
public void onClick(View v) {
switch (v.getId()) {
- case R.id.image:
+ case R.id.image_1:
blurLockView.show(
getIntent().getIntExtra("SHOW_DURATION", 1000),
getShowType(getIntent().getIntExtra("SHOW_DIRECTION", 0)),
- getEaseType(getIntent().getIntExtra("EASE_TYPE", 30)));
+ getEaseType(getIntent().getIntExtra("SHOW_EASE_TYPE", 30)));
break;
}
}
@Override
public void onClick() {
- if (Password.NUMBER.equals(blurLockView.getType())) {
- blurLockView.setType(Password.TEXT, true);
- } else if (Password.TEXT.equals(blurLockView.getType())) {
- blurLockView.setType(Password.NUMBER, true);
- }
-// blurLockView.hide(
-// getIntent().getIntExtra("HIDE_DURATION", 1000),
-// getHideType(getIntent().getIntExtra("HIDE_DIRECTION", 0)),
-// getEaseType(getIntent().getIntExtra("EASE_TYPE", 30)));
+ new MaterialDialog.Builder(this)
+ .title(R.string.operations)
+ .items(R.array.operations)
+ .itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {
+ @Override
+ public boolean onSelection(MaterialDialog dialog, View view, int which, CharSequence text) {
+ switch (which) {
+ case 0:
+ blurLockView.show(
+ getIntent().getIntExtra("SHOW_DURATION", 1000),
+ getShowType(getIntent().getIntExtra("SHOW_DIRECTION", 0)),
+ getEaseType(getIntent().getIntExtra("SHOW_EASE_TYPE", 30)));
+ break;
+ case 1:
+ blurLockView.hide(
+ getIntent().getIntExtra("HIDE_DURATION", 1000),
+ getHideType(getIntent().getIntExtra("HIDE_DIRECTION", 0)),
+ getEaseType(getIntent().getIntExtra("HIDE_EASE_TYPE", 30)));
+ break;
+ case 2:
+ setBlurRadius();
+ break;
+ case 3:
+ setDownsamepleFactor();
+ break;
+ case 4:
+ setOverlayColor();
+ break;
+ case 5:
+ if (Password.NUMBER.equals(blurLockView.getType())) {
+ blurLockView.setType(Password.TEXT, true);
+ } else if (Password.TEXT.equals(blurLockView.getType())) {
+ blurLockView.setType(Password.NUMBER, true);
+ }
+ break;
+
+ }
+ return true;
+ }
+ })
+ .show();
+ }
+
+ private int radius;
+ private void setBlurRadius() {
+ new MaterialDialog.Builder(this)
+ .title(R.string.set_blur_radius_title)
+ .inputType(InputType.TYPE_CLASS_NUMBER)
+ .positiveText(R.string.ok)
+ .alwaysCallInputCallback()
+ .input(
+ "[1, 20]",
+ blurLockView.getBlurRadius() + "",
+ new MaterialDialog.InputCallback() {
+ @Override
+ public void onInput(MaterialDialog dialog, CharSequence input) {
+ radius = -1;
+ try {
+ radius = Integer.parseInt(String.valueOf(input));
+ } catch (NumberFormatException n) {
+ radius = -1;
+ }
+ if (!(1 <= radius && radius <= 20))
+ dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);
+ else
+ dialog.getActionButton(DialogAction.POSITIVE).setEnabled(true);
+ }
+ })
+ .onAny(new MaterialDialog.SingleButtonCallback() {
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ if (which == DialogAction.POSITIVE) {
+ blurLockView.setBlurRadius(radius);
+ }
+ }
+ })
+ .show();
}
-
+
+ private int downsamepleFactor;
+ private void setDownsamepleFactor() {
+ new MaterialDialog.Builder(this)
+ .title(R.string.set_downsample_factor_title)
+ .inputType(InputType.TYPE_CLASS_NUMBER)
+ .positiveText(R.string.ok)
+ .alwaysCallInputCallback()
+ .input(
+ "[1, 20]",
+ blurLockView.getDownsampleFactor() + "",
+ new MaterialDialog.InputCallback() {
+ @Override
+ public void onInput(MaterialDialog dialog, CharSequence input) {
+ downsamepleFactor = -1;
+ try {
+ downsamepleFactor = Integer.parseInt(String.valueOf(input));
+ } catch (NumberFormatException n) {
+ downsamepleFactor = -1;
+ }
+ if (!(1 <= downsamepleFactor && downsamepleFactor <= 20))
+ dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);
+ else
+ dialog.getActionButton(DialogAction.POSITIVE).setEnabled(true);
+ }
+ })
+ .onAny(new MaterialDialog.SingleButtonCallback() {
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ if (which == DialogAction.POSITIVE) {
+ blurLockView.setDownsampleFactor(downsamepleFactor);
+ }
+ }
+ })
+ .show();
+ }
+
+ private void setOverlayColor() {
+ new ColorChooserDialog.Builder(this, R.string.set_overlay_color)
+ .titleSub(R.string.set_overlay_color)
+ .doneButton(R.string.ok)
+ .preselect(blurLockView.getOverlayColor())
+ .show();
+ }
+
private ShowType getShowType(int p) {
ShowType showType = ShowType.FROM_TOP_TO_BOTTOM;
switch (p) {
@@ -109,19 +243,21 @@ private ShowType getShowType(int p) {
case 1: showType = ShowType.FROM_RIGHT_TO_LEFT; break;
case 2: showType = ShowType.FROM_BOTTOM_TO_TOP; break;
case 3: showType = ShowType.FROM_LEFT_TO_RIGHT; break;
+ case 4: showType = ShowType.FADE_IN; break;
}
return showType;
}
private HideType getHideType(int p) {
- HideType showType = HideType.FROM_TOP_TO_BOTTOM;
+ HideType hideType = HideType.FROM_TOP_TO_BOTTOM;
switch (p) {
- case 0: showType = HideType.FROM_TOP_TO_BOTTOM; break;
- case 1: showType = HideType.FROM_RIGHT_TO_LEFT; break;
- case 2: showType = HideType.FROM_BOTTOM_TO_TOP; break;
- case 3: showType = HideType.FROM_LEFT_TO_RIGHT; break;
+ case 0: hideType = HideType.FROM_TOP_TO_BOTTOM; break;
+ case 1: hideType = HideType.FROM_RIGHT_TO_LEFT; break;
+ case 2: hideType = HideType.FROM_BOTTOM_TO_TOP; break;
+ case 3: hideType = HideType.FROM_LEFT_TO_RIGHT; break;
+ case 4: hideType = HideType.FADE_OUT; break;
}
- return showType;
+ return hideType;
}
private EaseType getEaseType(int p) {
@@ -161,4 +297,9 @@ private EaseType getEaseType(int p) {
}
return easeType;
}
+
+ @Override
+ public void onColorSelection(@NonNull ColorChooserDialog dialog, @ColorInt int selectedColor) {
+ blurLockView.setOverlayColor(selectedColor);
+ }
}
View
BIN app/src/main/res/drawable/image_1.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN app/src/main/res/drawable/ok.png
Deleted file not rendered
View
148 app/src/main/res/layout/activity_settings.xml
@@ -67,7 +67,7 @@
android:id="@+id/show_duration"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:max="8"
+ android:max="10"
android:progress="0"
/>
@@ -92,7 +92,7 @@
android:id="@+id/hide_duration"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:max="8"
+ android:max="10"
android:progress="0"
/>
@@ -138,7 +138,7 @@
>
</RadioGroup>
-
+
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -149,13 +149,56 @@
android:layout_marginTop="20dp"
/>
- <RadioGroup
- android:id="@+id/group_ease_type"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginTop="10dp"
>
- </RadioGroup>
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:textColor="@android:color/black"
+ android:text="@string/show_ease_type"
+ android:textStyle="bold"
+ android:textSize="15sp"
+ />
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:textColor="@android:color/black"
+ android:text="@string/hide_ease_type"
+ android:textStyle="bold"
+ android:textSize="15sp"
+ />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ >
+
+ <RadioGroup
+ android:id="@+id/show_ease_type"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ />
+
+ <RadioGroup
+ android:id="@+id/hide_ease_type"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ />
+
+ </LinearLayout>
<TextView
android:layout_width="match_parent"
@@ -173,9 +216,99 @@
android:layout_height="wrap_content"
android:maxLines="1"
android:hint="@string/password_hint"
- android:text="1234"
+ android:text="@string/password_default"
+ />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textColor="@android:color/black"
+ android:text="@string/set_title"
+ android:textStyle="bold"
+ android:textSize="20sp"
+ android:layout_marginTop="20dp"
+ />
+
+ <EditText
+ android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:maxLines="1"
+ android:hint="@string/title_hint"
+ android:text="@string/title_default"
+ />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textColor="@android:color/black"
+ android:text="@string/set_left_button_text"
+ android:textStyle="bold"
+ android:textSize="20sp"
+ android:layout_marginTop="20dp"
+ />
+
+ <EditText
+ android:id="@+id/left_button"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:maxLines="1"
+ android:hint="@string/left_button_text_hint"
+ android:text="@string/left_button_text_default"
+ />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textColor="@android:color/black"
+ android:text="@string/set_right_button_text"
+ android:textStyle="bold"
+ android:textSize="20sp"
+ android:layout_marginTop="20dp"
+ />
+
+ <EditText
+ android:id="@+id/right_button"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:maxLines="1"
+ android:hint="@string/right_button_text_hint"
+ android:text="@string/right_button_text_default"
+ />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textColor="@android:color/black"
+ android:text="@string/set_typeface"
+ android:textStyle="bold"
+ android:textSize="20sp"
+ android:layout_marginTop="20dp"
/>
+ <RadioGroup
+ android:id="@+id/group_typeface"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ >
+
+ <RadioButton
+ android:id="@+id/san"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/san_francisco_regular"
+ android:checked="true"
+ />
+
+ <RadioButton
+ android:id="@+id/default_typeface"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/default_typeface"
+ />
+
+ </RadioGroup>
+
</LinearLayout>
</ScrollView>
@@ -184,7 +317,6 @@
android:id="@+id/go"
android:layout_width="56dp"
android:layout_height="56dp"
- android:src="@drawable/ok"
android:scaleType="center"
android:layout_gravity="bottom|end"
android:layout_marginBottom="20dp"
View
6 app/src/main/res/layout/activity_show.xml
@@ -7,11 +7,11 @@
android:clickable="true">
<ImageView
- android:id="@+id/image"
+ android:id="@+id/image_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:src="@drawable/test_background"
- />
+ android:src="@drawable/image_1"
+ android:scaleType="centerCrop"/>
<TextView
android:layout_width="match_parent"
View
14 app/src/main/res/menu/menu.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <group android:id="@+id/group1">
+ <item
+ android:id="@+id/action_github"
+ android:title="Github"/>
+
+ <item
+ android:id="@+id/action_developer"
+ android:title="Developer"/>
+ </group>
+
+</menu>
View
BIN app/src/main/res/mipmap-hdpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN app/src/main/res/mipmap-mdpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN app/src/main/res/mipmap-xhdpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
14 app/src/main/res/values/arrays.xml
@@ -2,12 +2,25 @@
<resources>
<string-array
+ name="operations">
+
+ <item>Show Blur View</item>
+ <item>Hide Blur View</item>
+ <item>Set Blur Radius</item>
+ <item>Set Downsample Factor</item>
+ <item>Set Overlay Color</item>
+ <item>Change Password Type</item>
+
+ </string-array>
+
+ <string-array
name="show_direction">
<item>From top to bottom</item>
<item>From right to left</item>
<item>From bottom to top</item>
<item>From left to right</item>
+ <item>Fade In</item>
</string-array>
@@ -18,6 +31,7 @@
<item>From right to left</item>
<item>From bottom to top</item>
<item>From left to right</item>
+ <item>Fade Out</item>
</string-array>
View
35 app/src/main/res/values/strings.xml
@@ -11,18 +11,51 @@
<string name="show_direction">Show Direction</string>
<string name="hide_direction">hide Direction</string>
- <string name="ease_type">Show Ease Type</string>
+ <string name="ease_type">Ease Type</string>
+ <string name="show_ease_type">Show Ease Type</string>
+ <string name="hide_ease_type">Hide Ease Type</string>
<string name="set_password">Set Password</string>
<string name="password_hint">Write your password here</string>
<string name="password_is_empty">Please input the password</string>
<string name="password_too_long">Password too long</string>
+ <string name="password_default">1234</string>
+
+ <string name="set_title">Set Title</string>
+ <string name="title_hint">Write your title here</string>
+ <string name="title_is_empty">Please input the title</string>
+ <string name="title_too_long">Title too long</string>
+ <string name="title_default">Blur Lock</string>
+
+ <string name="set_left_button_text">Set Left Button</string>
+ <string name="left_button_text_hint">Write your text of left button here</string>
+ <string name="left_button_text_is_empty">Please input the text of left button</string>
+ <string name="left_button_text_too_long">Text of left button too long</string>
+ <string name="left_button_text_default">Operations</string>
+
+ <string name="set_right_button_text">Set Right Button</string>
+ <string name="right_button_text_hint">Backspace is suggested</string>
+ <string name="right_button_text_is_empty">Please input the text of right button</string>
+ <string name="right_button_text_too_long">Text of right button too long</string>
+ <string name="right_button_text_default">Backspace</string>
+
+ <string name="set_typeface">Set Typeface</string>
+ <string name="san_francisco_regular">San Francisco Regular</string>
+ <string name="default_typeface">Default</string>
<string name="click_to_show">Click to show BlurLockView</string>
<string name="password_correct">Password correct</string>
<string name="password_incorrect">Password incorrect</string>
+ <string name="operations">Operations</string>
+
+ <string name="set_blur_radius_title">Set Blur Radius</string>
+ <string name="set_downsample_factor_title">Set Downsample Factor</string>
+ <string name="set_overlay_color">Set Overlay Color</string>
+
+ <string name="ok">OK</string>
+
</resources>
View
29 blurlockview/build.gradle
@@ -1,5 +1,29 @@
apply plugin: 'com.android.library'
+ext {
+ bintrayRepo = 'maven'
+ bintrayName = 'blurlockview'
+
+ publishedGroupId = 'com.nightonke'
+ libraryName = 'blurlockview'
+ artifact = 'blurlockview'
+
+ libraryDescription = 'Lock view with blur effect.'
+
+ siteUrl = 'https://github.com/Nightonke/BlurLockView'
+ gitUrl = 'https://github.com/Nightonke/BlurLockView.git'
+
+ libraryVersion = '1.0.0'
+
+ developerId = 'nightonke'
+ developerName = 'Weiping Huang'
+ developerEmail = 'nightonke@outlook.com'
+
+ licenseName = 'The Apache Software License, Version 2.0'
+ licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ allLicenses = ["Apache-2.0"]
+}
+
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
@@ -8,7 +32,7 @@ android {
minSdkVersion 17
targetSdkVersion 23
versionCode 1
- versionName "1.0"
+ versionName "1.0.0"
}
buildTypes {
release {
@@ -23,3 +47,6 @@ dependencies {
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.0'
}
+
+apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle'
+apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle'
View
9 blurlockview/src/main/java/com/nightonke/blurlockview/BigButtonView.java
@@ -13,7 +13,6 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
-import android.widget.LinearLayout;
import android.widget.TextView;
/**
@@ -193,16 +192,8 @@ public void setSubText(String subTextString) {
public void setSubTextVisibility(int visibility) {
if (visibility == GONE) {
text.setGravity(Gravity.CENTER);
- text.setLayoutParams(new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- 0,
- 10));
} else {
text.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM);
- text.setLayoutParams(new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- 0,
- 7));
}
subText.setVisibility(visibility);
}
View
153 blurlockview/src/main/java/com/nightonke/blurlockview/BlurLockView.java
@@ -9,7 +9,6 @@
import android.content.res.Resources;
import android.graphics.Point;
import android.graphics.Typeface;
-import android.inputmethodservice.AbstractInputMethodService;
import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;
import android.view.Display;
@@ -431,6 +430,69 @@ public boolean dispatchTouchEvent(MotionEvent event) {
}
/**
+ * Set big buttons' background.
+ *
+ * @param id
+ */
+ public void setBigButtonViewsBackground(int id) {
+ for (int i = 0; i < 10; i++) bigButtonViews[i].setBackground(id);
+ }
+
+ /**
+ * Set big buttons' click effect.
+ *
+ * @param id
+ */
+ public void setBigButtonViewsClickEffect(int id) {
+ for (int i = 0; i < 10; i++) bigButtonViews[i].setEffect(id);
+ }
+
+ /**
+ * Set the click effect duration.
+ *
+ * @param duration
+ */
+ public void setBigButtonViewsClickEffectDuration(int duration) {
+ for (int i = 0; i < 10; i++) bigButtonViews[i].setEffectDuration(duration);
+ }
+
+ /**
+ * Set small buttons' background.
+ *
+ * @param id
+ */
+ public void setSmallButtonViewsBackground(int id) {
+ for (int i = 0; i < smallButtonViews.length; i++)
+ for (int j = 0; j < smallButtonViews[i].length; j++)
+ if (smallButtonViews[i][j] != null)
+ smallButtonViews[i][j].setBackground(id);
+ }
+
+ /**
+ * Set small buttons' click effect.
+ *
+ * @param id
+ */
+ public void setSmallButtonViewsClickEffect(int id) {
+ for (int i = 0; i < smallButtonViews.length; i++)
+ for (int j = 0; j < smallButtonViews[i].length; j++)
+ if (smallButtonViews[i][j] != null)
+ smallButtonViews[i][j].setEffect(id);
+ }
+
+ /**
+ * Set the click effect duration.
+ *
+ * @param duration
+ */
+ public void setSmallButtonViewsClickEffectDuration(int duration) {
+ for (int i = 0; i < smallButtonViews.length; i++)
+ for (int j = 0; j < smallButtonViews[i].length; j++)
+ if (smallButtonViews[i][j] != null)
+ smallButtonViews[i][j].setEffectDuration(duration);
+ }
+
+ /**
* Set all the fonts.
*
* @param typeface
@@ -439,6 +501,11 @@ public void setTypeface(Typeface typeface) {
this.typeface = typeface;
if (type.equals(Password.NUMBER)) {
for (int i = 0; i < 10; i++) bigButtonViews[i].setTypeFace(typeface);
+ } else if (type.equals(Password.TEXT)) {
+ for (int i = 0; i < smallButtonViews.length; i++)
+ for (int j = 0; j < smallButtonViews[i].length; j++)
+ if (smallButtonViews[i][j] != null)
+ smallButtonViews[i][j].setTypeFace(typeface);
}
title.setTypeface(typeface);
leftButton.setTypeface(typeface);
@@ -456,6 +523,11 @@ public void setTextColor(int color) {
bigButtonViews[i].setTextColor(color);
bigButtonViews[i].setSubTextColor(color);
}
+ } else if (type.equals(Password.TEXT)) {
+ for (int i = 0; i < smallButtonViews.length; i++)
+ for (int j = 0; j < smallButtonViews[i].length; j++)
+ if (smallButtonViews[i][j] != null)
+ smallButtonViews[i][j].setTextColor(color);
}
title.setTextColor(color);
leftButton.setTextColor(color);
@@ -593,6 +665,10 @@ public void show(int duration, ShowType showType, EaseType easeType) {
animator = ObjectAnimator.ofFloat(this, "translationX",
getTranslationX() - getWidth(),
getTranslationX());
+ } else if (showType.equals(ShowType.FADE_IN)) {
+ animator = ObjectAnimator.ofFloat(this, "alpha",
+ 0,
+ 1);
}
animator.setDuration(duration);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@@ -641,6 +717,10 @@ public void hide(int duration, HideType hideType, EaseType easeType) {
animator = ObjectAnimator.ofFloat(this, "translationX",
getTranslationX(),
getTranslationX() + getWidth());
+ } else if (hideType.equals(HideType.FADE_OUT)) {
+ animator = ObjectAnimator.ofFloat(this, "alpha",
+ 1,
+ 0);
}
animator.setDuration(duration);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@@ -656,6 +736,7 @@ public void onAnimationEnd(Animator animation) {
setVisibility(INVISIBLE);
setTranslationX(originalX);
setTranslationY(originalY);
+ setAlpha(1);
animationIsPlaying = false;
}
});
@@ -673,23 +754,93 @@ public void onAnimationEnd(Animator animation) {
void onClick();
}
+ /**
+ * Get the title.
+ * @return
+ */
public TextView getTitle() {
return title;
}
+ /**
+ * Get the left button.
+ * @return
+ */
public TextView getLeftButton() {
return leftButton;
}
+ /**
+ * Get the right button.
+ * @return
+ */
public TextView getRightButton() {
return rightButton;
}
+ /**
+ * Get the numbers.
+ * @return
+ */
public BigButtonView[] getBigButtonViews() {
return bigButtonViews;
}
+ /**
+ * Get the texts.
+ * @return
+ */
public SmallButtonView[][] getSmallButtonViews() {
return smallButtonViews;
}
+
+ /**
+ * Set the blur radius.
+ */
+ public void setBlurRadius(int blurRadius) {
+ mBlurView.setBlurRadius(blurRadius);
+ update();
+ }
+
+ /**
+ * Get the blur radius.
+ * @return
+ */
+ public int getBlurRadius() {
+ return mBlurView.getBlurRadius();
+ }
+
+ /**
+ * Set the downsample factor.
+ * @param downsampleFactor
+ */
+ public void setDownsampleFactor(int downsampleFactor) {
+ mBlurView.setDownsampleFactor(downsampleFactor);
+ update();
+ }
+
+ /**
+ * Get the downsample factor.
+ * @return
+ */
+ public int getDownsampleFactor() {
+ return mBlurView.getDownsampleFactor();
+ }
+
+ /**
+ * Set the overlay color.
+ * @param color
+ */
+ public void setOverlayColor(int color) {
+ mBlurView.setOverlayColor(color);
+ update();
+ }
+
+ /**
+ * Get the overlay color.
+ * @return
+ */
+ public int getOverlayColor() {
+ return mBlurView.getmOverlayColor();
+ }
}
View
26 blurlockview/src/main/java/com/nightonke/blurlockview/BlurView.java
@@ -12,7 +12,6 @@
import android.renderscript.RenderScript;
import android.renderscript.ScriptIntrinsicBlur;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.View;
/**
@@ -20,6 +19,7 @@
*/
public class BlurView extends View {
+ private int mBlurRadius;
private int mDownsampleFactor;
private int mOverlayColor;
@@ -73,16 +73,17 @@ protected void onDraw(Canvas canvas) {
mBitmapToBlur.eraseColor(Color.TRANSPARENT);
}
+ int[] mBlurredViewXY = new int[2];
+ mBlurredView.getLocationOnScreen(mBlurredViewXY);
+ int[] mBlurringViewXY = new int[2];
+ getLocationOnScreen(mBlurringViewXY);
+
mBlurredView.draw(mBlurringCanvas);
blur();
canvas.save();
// modify here to get the correct bitmap when the blurring view is in a parent
- int[] mBlurredViewXY = new int[2];
- mBlurredView.getLocationOnScreen(mBlurredViewXY);
- int[] mBlurringViewXY = new int[2];
- getLocationOnScreen(mBlurringViewXY);
canvas.translate(mBlurredViewXY[0] - mBlurringViewXY[0], mBlurredViewXY[1] - mBlurringViewXY[1]);
canvas.scale(mDownsampleFactor, mDownsampleFactor);
canvas.drawBitmap(mBlurredBitmap, 0, 0, null);
@@ -93,7 +94,12 @@ protected void onDraw(Canvas canvas) {
}
public void setBlurRadius(int radius) {
- mBlurScript.setRadius(radius);
+ mBlurRadius = radius;
+ mBlurScript.setRadius(mBlurRadius);
+ }
+
+ public int getBlurRadius() {
+ return mBlurRadius;
}
public void setDownsampleFactor(int factor) {
@@ -107,10 +113,18 @@ public void setDownsampleFactor(int factor) {
}
}
+ public int getDownsampleFactor() {
+ return mDownsampleFactor;
+ }
+
public void setOverlayColor(int color) {
mOverlayColor = color;
}
+ public int getmOverlayColor() {
+ return mOverlayColor;
+ }
+
private void initializeRenderScript(Context context) {
mRenderScript = RenderScript.create(context);
mBlurScript = ScriptIntrinsicBlur.create(mRenderScript, Element.U8_4(mRenderScript));
View
3 blurlockview/src/main/java/com/nightonke/blurlockview/Directions/HideType.java
@@ -8,7 +8,8 @@
FROM_TOP_TO_BOTTOM(0),
FROM_RIGHT_TO_LEFT(1),
FROM_BOTTOM_TO_TOP(2),
- FROM_LEFT_TO_RIGHT(3);
+ FROM_LEFT_TO_RIGHT(3),
+ FADE_OUT(4);
int type;
View
3 blurlockview/src/main/java/com/nightonke/blurlockview/Directions/ShowType.java
@@ -8,7 +8,8 @@
FROM_TOP_TO_BOTTOM(0),
FROM_RIGHT_TO_LEFT(1),
FROM_BOTTOM_TO_TOP(2),
- FROM_LEFT_TO_RIGHT(3);
+ FROM_LEFT_TO_RIGHT(3),
+ FADE_IN(4);
int type;
View
2 blurlockview/src/main/java/com/nightonke/blurlockview/SmallButtonView.java
@@ -7,13 +7,11 @@
import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;
import android.util.TypedValue;
-import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
-import android.widget.LinearLayout;
import android.widget.TextView;
/**
View
11 blurlockview/src/main/res/layout/big_button_view.xml
@@ -16,18 +16,16 @@
/>
<LinearLayout
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_gravity="center"
- android:weightSum="10"
>
<TextView
android:id="@+id/text"
- android:layout_height="0dp"
+ android:layout_height="wrap_content"
android:layout_width="match_parent"
- android:layout_weight="7"
android:text="5"
android:textSize="35sp"
android:gravity="center_horizontal|bottom"
@@ -35,10 +33,9 @@
<TextView
android:id="@+id/sub_text"
- android:layout_height="0dp"
+ android:layout_height="wrap_content"
android:layout_width="match_parent"
- android:layout_weight="3"
- android:layout_marginTop="-7dp"
+ android:layout_marginTop="-8dp"
android:text="ABC"
android:gravity="center_horizontal|top"
/>
View
2 blurlockview/src/main/res/values/defaults.xml
@@ -13,7 +13,7 @@
<color name="default_small_button_text_color">#ffffff</color>
<integer name="default_small_button_text_size">12</integer>
- <integer name="default_title_text_size">17</integer>
+ <integer name="default_title_text_size">20</integer>
<color name="default_title_text_color">#ffffff</color>
<integer name="default_left_button_text_size">20</integer>
<color name="default_left_button_text_color">#ffffff</color>
View
5 blurlockview/src/main/res/values/styles.xml
@@ -1,8 +1,3 @@
<resources>
- <!-- Base application theme. -->
- <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
- <!-- Customize your theme here. -->
- </style>
-
</resources>
View
3 build.gradle
@@ -9,6 +9,9 @@ buildscript {
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
+
+ classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
+ classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
}
}

0 comments on commit 362501e

Please sign in to comment.
Something went wrong with that request. Please try again.