Skip to content

Commit

Permalink
Consolidate majority into CameraKitView
Browse files Browse the repository at this point in the history
  • Loading branch information
dwillmc committed Mar 27, 2018
1 parent 611998c commit d4e07b3
Show file tree
Hide file tree
Showing 38 changed files with 2,422 additions and 3,462 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,27 +36,27 @@ implementation 'com.camerakit:camerakit:1.0.0'

## Usage

To use CameraKit, simply add a `CameraView` to your layout:
To use CameraKit, simply add a `CameraKitView` to your layout:

```xml
<com.camerakit.CameraView
<com.camerakit.CameraKitView
android:id="@+id/camera"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```

Make sure you override `onResume` and `onPause` in your activity, and make calls respectively to `CameraView.start()` and `CameraView.stop()`.
Make sure you override `onResume` and `onPause` in your activity, and make pass-through calls CameraKit with `CameraKitView.onResume()` and `CameraKitView.onPause()`.

```java
@Override
protected void onResume() {
super.onResume();
cameraView.start();
cameraView.onResume();
}

@Override
protected void onPause() {
cameraView.stop();
cameraView.onPause();
super.onPause();
}
```
Expand Down
87 changes: 49 additions & 38 deletions app/src/main/java/com/camerakit/app/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,16 @@
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.Html;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.DecelerateInterpolator;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import com.camerakit.CameraKitView;
import com.jpegkit.JpegFile;
import com.jpegkit.JpegImageView;

import java.io.File;

Expand All @@ -35,8 +37,8 @@ public class MainActivity extends AppCompatActivity implements Toolbar.OnMenuIte
private Button flashlightButton;
private Button facingButton;

private ImageView newPhotoImageView;
private ImageView photoImageView;
private JpegImageView newPhotoImageView;
private JpegImageView photoImageView;

private File mPhoto;

Expand Down Expand Up @@ -87,12 +89,12 @@ protected void onCreate(Bundle savedInstanceState) {
@Override
public void onResume() {
super.onResume();
cameraView.start();
cameraView.onResume();
}

@Override
public void onPause() {
cameraView.stop();
cameraView.onPause();
super.onPause();
}

Expand Down Expand Up @@ -123,39 +125,48 @@ public boolean onMenuItemClick(MenuItem item) {

private View.OnClickListener photoOnClickListener = v -> {
cameraView.capturePhoto(((view, photo) -> {
photo.getGalleryFile((galleryFile -> {
mPhoto = galleryFile;
}));

photo.getThumbnail((thumbnail -> {
thumbnail.getBitmap((thumbnailBitmap -> {
runOnUiThread(() -> {
newPhotoImageView.setImageBitmap(thumbnailBitmap);
newPhotoImageView.setAlpha(0f);
newPhotoImageView.setScaleX(1f);
newPhotoImageView.setScaleY(1f);
newPhotoImageView.setVisibility(View.VISIBLE);

newPhotoImageView.animate()
.alpha(1f)
.scaleX(0.1f)
.scaleY(0.1f)
.setDuration(450)
.setInterpolator(new DecelerateInterpolator())
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
photoImageView.setAlpha(1f);
photoImageView.setImageBitmap(thumbnailBitmap);

newPhotoImageView.setVisibility(View.GONE);
}
})
.start();
});
}));
}));
photo.saveToGallery(view.getContext(), "test.jpg", new CameraKitView.Photo.JpegFileCallback() {
@Override
public void onJpegFile(JpegFile jpegFile) {
mPhoto = jpegFile.getFile();
}

@Override
public void onError(CameraKitView.CameraException error) {
Log.e("CameraKit", error.toString());
}
});

runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, photo.getJpeg().getWidth() + "x" + photo.getJpeg().getHeight(), Toast.LENGTH_SHORT).show();

newPhotoImageView.setJpeg(photo.getJpeg());
newPhotoImageView.setAlpha(0f);
newPhotoImageView.setScaleX(1f);
newPhotoImageView.setScaleY(1f);
newPhotoImageView.setVisibility(View.VISIBLE);

newPhotoImageView.animate()
.alpha(1f)
.scaleX(0.1f)
.scaleY(0.1f)
.setDuration(450)
.setInterpolator(new DecelerateInterpolator())
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
photoImageView.setAlpha(1f);
photoImageView.setJpeg(photo.getJpeg());

newPhotoImageView.setVisibility(View.GONE);
}
})
.start();
}
});
}));
};

Expand Down
6 changes: 3 additions & 3 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
android:adjustViewBounds="true"
app:camera_facing="back" />

<de.hdodenhof.circleimageview.CircleImageView
<com.jpegkit.JpegImageView
android:id="@+id/photoImageView"
android:layout_width="50dp"
android:layout_height="50dp"
Expand All @@ -44,7 +44,7 @@
android:layout_marginRight="15dp"
android:elevation="4dp" />

<de.hdodenhof.circleimageview.CircleImageView
<com.jpegkit.JpegImageView
android:id="@+id/newImageView"
android:layout_width="500dp"
android:layout_height="500dp"
Expand All @@ -63,7 +63,7 @@
<LinearLayout
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom|start"
android:layout_gravity="bottom|left"
android:layout_margin="12dp"
android:orientation="vertical">

Expand Down
28 changes: 3 additions & 25 deletions camerakit/build.gradle
Original file line number Diff line number Diff line change
@@ -1,45 +1,23 @@
plugins {
id 'me.tatarka.retrolambda' version '3.7.0'
id 'com.jfrog.bintray' version '1.7.3'
id 'com.github.dcendents.android-maven' version '1.5'
}

apply plugin: 'com.android.library'

retrolambda {
javaVersion JavaVersion.VERSION_1_7
}

android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
sourceSets {
main {
java {
setSrcDirs([])
srcDir 'src/main/java/public/base'
srcDir 'src/main/java/public/types'
srcDir 'src/main/java/public/modules'
srcDir 'src/main/java/public/products'
srcDir 'src/main/java/core/base'
srcDir 'src/main/java/core/v1'
}
}
}
}

dependencies {
implementation 'com.camerakit:jpegkit:0.0.1'
implementation 'com.android.support:support-annotations:27.0.2'
testImplementation 'junit:junit:4.12'
compile 'com.camerakit:jpegkit:0.1.0'
compile 'com.android.support:support-annotations:27.1.0'
testCompile 'junit:junit:4.12'
}

ext.getBintrayUser = { ->
Expand Down
8 changes: 5 additions & 3 deletions camerakit/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.camerakit">

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.front"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
<uses-feature
android:name="android.hardware.microphone"
android:required="false" />
Expand Down
Loading

0 comments on commit d4e07b3

Please sign in to comment.