Skip to content
Snippets Groups Projects
Commit 77730365 authored by priagungs's avatar priagungs
Browse files

Merge branch 'master' of github.com:Ilhamfp31/chatman

parents 24d8781f 3c55d445
Branches
No related merge requests found
package com.chatman.activity;
import android.content.Intent;
import android.hardware.Sensor;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
......@@ -21,6 +22,7 @@ import com.chatman.R;
import com.chatman.adapter.ChatAdapter;
import com.chatman.helper.FirebaseHelper;
import com.chatman.helper.PreferencesHelper;
import com.chatman.helper.SensorHelper;
import com.chatman.model.Chat;
import com.chatman.model.ChatRoom;
import com.google.firebase.database.ChildEventListener;
......@@ -45,6 +47,7 @@ public class ChatRoomActivity extends AppCompatActivity {
private TextView toolbarName;
private List<Chat> chatList;
private String chatRoomId;
private SensorHelper mSensorHelper;
@Override
......@@ -89,6 +92,8 @@ public class ChatRoomActivity extends AppCompatActivity {
chatRv.setAdapter(adapter);
chatRv.scrollToPosition(chatList.size() - 1);
initializeListener();
mSensorHelper = new SensorHelper(this);
}
private void initializeListener() {
......@@ -179,4 +184,17 @@ public class ChatRoomActivity extends AppCompatActivity {
}
return super.onOptionsItemSelected(item);
}
@Override
public void onResume() {
super.onResume();
mSensorHelper.listenSensor(Sensor.TYPE_PROXIMITY);
mSensorHelper.listenSensor(Sensor.TYPE_GYROSCOPE);
}
@Override
public void onPause() {
super.onPause();
mSensorHelper.unlistenSensor();
}
}
package com.chatman.activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
......@@ -22,6 +26,7 @@ import com.chatman.fragment.BotFragment;
import com.chatman.fragment.HomeFragment;
import com.chatman.fragment.ProfileFragment;
import com.chatman.helper.PreferencesHelper;
import com.chatman.helper.SensorHelper;
public class MainActivity extends AppCompatActivity implements
ProfileFragment.OnFragmentInteractionListener,
......@@ -30,6 +35,7 @@ public class MainActivity extends AppCompatActivity implements
private Context context;
private BottomNavigationView bottomNavbar;
private SensorHelper mSensorHelper;
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
......@@ -71,6 +77,9 @@ public class MainActivity extends AppCompatActivity implements
}
context = this;
//Set sensor
mSensorHelper = new SensorHelper(context);
// Bottom Navigation Bar
bottomNavbar = findViewById(R.id.navigation);
bottomNavbar.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
......@@ -114,4 +123,17 @@ public class MainActivity extends AppCompatActivity implements
public void onFragmentInteraction(Uri uri){
//you can leave it empty
}
@Override
public void onResume() {
super.onResume();
mSensorHelper.listenSensor(Sensor.TYPE_PROXIMITY);
mSensorHelper.listenSensor(Sensor.TYPE_GYROSCOPE);
}
@Override
public void onPause() {
super.onPause();
mSensorHelper.unlistenSensor();
}
}
package com.chatman.helper;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.widget.Toast;
public class SensorHelper {
public static final String TAG = SensorHelper.class.getSimpleName();
private Context mContext;
private SensorManager sensorManager;
private SensorEventListener sensorListener;
public SensorHelper(Context context) {
this.mContext = context;
sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
sensorListener = initListener(mContext);
}
public void listenSensor(int sensorType) {
if (sensorManager.getDefaultSensor(sensorType) != null) {
sensorManager.registerListener(sensorListener, sensorManager.getDefaultSensor(sensorType), SensorManager.SENSOR_DELAY_NORMAL);
}
}
public void unlistenSensor() {
sensorManager.unregisterListener(sensorListener);
}
public static SensorEventListener initListener(final Context context) {
return new SensorEventListener() {
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy){
//you can leave it empty
}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_PROXIMITY) {
//proximity
float distance = event.values[0];
if (distance <= 5) {
Toast.makeText(context, "You are too close to device", Toast.LENGTH_SHORT).show();
}
}
else if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
//gyro
}
}
};
}
}
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