Skip to content
Snippets Groups Projects
Commit 450d8691 authored by robby syaifullah's avatar robby syaifullah
Browse files

Add proximity Sensor on Home Activity

parent 1f8250aa
Branches
No related merge requests found
......@@ -40,6 +40,7 @@ dependencies {
compile 'com.android.support:design:26.1.0'
compile 'com.firebaseui:firebase-ui:0.6.0'
compile 'com.firebase:firebase-client-android:2.5.2'
}
apply plugin: 'com.google.gms.google-services'
{
"project_info": {
"project_number": "145946844862",
"firebase_url": "https://chatroom-ca444.firebaseio.com",
"project_id": "chatroom-ca444",
"storage_bucket": "chatroom-ca444.appspot.com"
"project_number": "47436114658",
"firebase_url": "https://chatroom-9f21a.firebaseio.com",
"project_id": "chatroom-9f21a",
"storage_bucket": "chatroom-9f21a.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:145946844862:android:d6ce396209c6cfd3",
"android_client_info": {
"package_name": "com.example.heil.chatroom"
}
},
"oauth_client": [
{
"client_id": "145946844862-k70e5blk1gvu645eb455umqnnfb9kp0o.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.example.heil.chatroom",
"certificate_hash": "115e06ed0d4d6219898c05cef50eb935401113dc"
}
},
{
"client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyBlESSrC8NqbRvIHRn4DSCfps5TctNLGjE"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 2,
"other_platform_oauth_client": [
{
"client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com",
"client_type": 3
}
]
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:145946844862:android:5626d847803be314",
"android_client_info": {
"package_name": "com.example.heil.bismillah"
}
},
"oauth_client": [
{
"client_id": "145946844862-n22r33mdmtvpi5230r9druv5qvn425g4.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.example.heil.bismillah",
"certificate_hash": "115e06ed0d4d6219898c05cef50eb935401113dc"
}
},
{
"client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyBlESSrC8NqbRvIHRn4DSCfps5TctNLGjE"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 2,
"other_platform_oauth_client": [
{
"client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com",
"client_type": 3
}
]
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:145946844862:android:35ec7a00c3481d94",
"mobilesdk_app_id": "1:47436114658:android:35ec7a00c3481d94",
"android_client_info": {
"package_name": "com.example.leo.fitnessdiy"
}
},
"oauth_client": [
{
"client_id": "145946844862-oshjav6a4mq4760hnt0m1940gkhdnrri.apps.googleusercontent.com",
"client_id": "47436114658-rqa1vg0ujgrigjr06v5bq9mh602b4d8v.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.example.leo.fitnessdiy",
......@@ -111,13 +23,13 @@
}
},
{
"client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com",
"client_id": "47436114658-nbvl0jljj7m3ghkf2j3uf8nutqft1k17.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyBlESSrC8NqbRvIHRn4DSCfps5TctNLGjE"
"current_key": "AIzaSyByNyWfdtliAQrLe1-yytroe_S_JIvhS00"
}
],
"services": {
......@@ -128,7 +40,7 @@
"status": 2,
"other_platform_oauth_client": [
{
"client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com",
"client_id": "47436114658-nbvl0jljj7m3ghkf2j3uf8nutqft1k17.apps.googleusercontent.com",
"client_type": 3
}
]
......
......@@ -9,6 +9,9 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-feature
android:name="android.hardware.sensor.proximity"
android:required="true" />
<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but you must specify either coarse or fine
......@@ -57,7 +60,8 @@
<activity
android:name=".JoggingActivity"
android:label="@string/title_activity_jogging" />
<activity android:name=".SettingActivity"></activity>
<activity android:name=".SettingActivity" />
<activity android:name=".SensorActivity"></activity>
</application>
</manifest>
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.example.leo.fitnessdiy;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.support.annotation.NonNull;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
......@@ -15,6 +16,7 @@ import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.firebase.client.authentication.Constants;
import com.firebase.ui.auth.AuthUI;
import com.firebase.ui.database.FirebaseListAdapter;
import com.google.android.gms.tasks.OnCompleteListener;
......@@ -22,13 +24,22 @@ import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.FirebaseDatabase;
import org.json.JSONObject;
import java.util.Date;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
/**
* Created by Heil on 2/18/2018.
*/
public class ChatActivity extends AppCompatActivity {
private static String LEGACY_SERVER_KEY = "AIzaSyAe9-zGwsfRuRw_rA9fp6NmY2v_En5Yv0M";
private static final int SIGN_IN_REQUEST_CODE = 1;
private FirebaseListAdapter<ChatMessage> adapter;
......
......@@ -14,11 +14,13 @@ import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.firebase.client.Firebase;
import com.firebase.ui.auth.AuthUI;
import com.firebase.ui.database.FirebaseListAdapter;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.FirebaseDatabase;
import java.util.Date;
......
......@@ -2,6 +2,10 @@ package com.example.leo.fitnessdiy;
import android.content.Intent;
import android.content.SharedPreferences;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.net.Uri;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
......@@ -14,6 +18,7 @@ import android.view.View;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.widget.Toast;
public class HomeActivity extends AppCompatActivity
implements ExerciseFragment.OnFragmentInteractionListener,
......@@ -22,6 +27,12 @@ public class HomeActivity extends AppCompatActivity
private FloatingActionButton chatButton;
// Sensor variable declaration
private SensorManager sensorManager;
private Sensor proximitySensor;
private SensorEventListener proximitySensorListener;
private final String LOG_TAG = "BACKGROUND";
@Override
public void onFragmentInteraction(Uri uri) {
......@@ -56,6 +67,30 @@ public class HomeActivity extends AppCompatActivity
mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
getWindow().getDecorView().setBackground(getResources().getDrawable(background));
// Proximity Sensor
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
proximitySensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
if (proximitySensor == null) {
Toast.makeText(this, "Proximity sensor is not available !", Toast.LENGTH_LONG).show();
finish();
}
proximitySensorListener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
if (sensorEvent.values[0] < proximitySensor.getMaximumRange()) {
Intent i = new Intent(getApplicationContext(), ChatActivity.class);
startActivity(i);
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
};
}
public void openHistory(View view) {
......@@ -96,5 +131,18 @@ public class HomeActivity extends AppCompatActivity
startActivity(i);
}
@Override
protected void onResume() {
super.onResume();
sensorManager.registerListener(proximitySensorListener, proximitySensor,
2 * 1000 * 1000);
}
@Override
protected void onPause() {
super.onPause();
sensorManager.unregisterListener(proximitySensorListener);
}
}
package com.example.leo.fitnessdiy;
import android.content.Intent;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
public class SensorActivity extends AppCompatActivity {
private SensorManager sensorManager;
private Sensor proximitySensor;
private SensorEventListener proximitySensorListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
proximitySensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
if (proximitySensor == null) {
Toast.makeText(this, "Proximity sensor is not available !", Toast.LENGTH_LONG).show();
finish();
}
proximitySensorListener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
if (sensorEvent.values[0] < proximitySensor.getMaximumRange()) {
Intent i = new Intent(getApplicationContext(), ChatActivity.class);
startActivity(i);
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
};
}
@Override
protected void onResume() {
super.onResume();
sensorManager.registerListener(proximitySensorListener, proximitySensor,
2 * 1000 * 1000);
}
@Override
protected void onPause() {
super.onPause();
sensorManager.unregisterListener(proximitySensorListener);
}
}
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.leo.fitnessdiy.SensorActivity">
</android.support.constraint.ConstraintLayout>
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment