Skip to content

Instantly share code, notes, and snippets.

View davidbeloo's full-sized avatar

David davidbeloo

  • Tel Aviv, Israel
View GitHub Profile
<?xml version="1.0" encoding="utf-8"?>
<manifest ... package="com.yourapp.packagename">
<!-- Always needed for AR. -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera.ar"
android:required="true" />
<application>
<meta-data android:name="com.google.ar.core"
android:value="required" />
<activity
@davidbeloo
davidbeloo / gist:08eeadf33abc6afacb01d3352de6b216
Created November 10, 2018 23:56
ARFragment setOnTapArPlaneListener
private ArFragment mARFragment;
private ModelRenderable mObjRenderable;
private Anchor mAnchor = null;
private TransformableNode mARObject = null;
private AnchorNode mAnchorNode = null;
mARFragment.setOnTapArPlaneListener(
(HitResult hitResult, Plane plane, MotionEvent motionEvent) -> {
if (mObjRenderable == null) {
return;
@davidbeloo
davidbeloo / gist:0071b8bd85da0c964ad8cf3f03f9a46c
Last active November 10, 2018 23:08
Set ARFragment - Sceneform
private void setARFragment() {
mARFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
// When you build a Renderable, Sceneform loads its resources in the background while returning
// a CompletableFuture. Call thenAccept(), handle(), or check isDone() before calling get().
ModelRenderable.builder()
.setSource(this, R.raw.yourObject)
.build()
.thenAccept(renderable -> mObjRenderable = renderable)
.exceptionally(
@davidbeloo
davidbeloo / gist:e71c26f49f55743292f6a48ec971395f
Created November 10, 2018 22:23
Check Is Supported Device for Sceneform
public static boolean checkIsSupportedDeviceOrFinish(final Activity activity) {
if (Build.VERSION.SDK_INT < VERSION_CODES.N) {
Log.e(TAG, "Sceneform requires Android N or later");
Toast.makeText(activity, "Sceneform requires Android N or later", Toast.LENGTH_LONG).show();
activity.finish();
return false;
}
String openGlVersionString =
((ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE))
.getDeviceConfigurationInfo()
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.YourActivityPackage.name",
"com.unity3d.player.UnityPlayerActivity"));
startActivity(intent);
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.package.name", "com.package.name.TargetActivityName"));
startActivity(intent);
@davidbeloo
davidbeloo / gist:185eada317902adae42de0443e9a6009
Created February 19, 2017 08:12
Open an Activity from another app
Intent intent = getPackageManager().getLaunchIntentForPackage("com.package.name");
startActivity(intent);
@davidbeloo
davidbeloo / gist:688a1f59ff1c59fdd227a16d1ce817ef
Last active February 7, 2017 08:32
Generate and Use Unity Plugins - Gist 2
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ToastScript : MonoBehaviour
{
private AndroidJavaObject javaObj = null;
// Use this for initialization
void Start () {
setActivityInNativePlugin ();
logEvent ("Toast Using Plugin!");
@davidbeloo
davidbeloo / gist:e427da815f899d9cdaeb612795f4db0a
Created February 7, 2017 08:26
Generate and Use Unity Plugins - Gist 1
public class Logger {
public static final String LOG_TAG = Logger.class.getSimpleName();
protected Activity mCurrentActivity;
public void setActivity(Activity activity)
{
mCurrentActivity = activity;
}
// Displays a Toast message and log an event