Skip to content

Commit 88ab3f9

Browse files
Version 1.2.1
- debug version
1 parent d2bb774 commit 88ab3f9

File tree

14 files changed

+230
-133
lines changed

14 files changed

+230
-133
lines changed

.idea/gradle.xml

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ apply plugin: 'com.google.gms.google-services'
44
android {
55
compileSdkVersion 29
66
buildToolsVersion '29.0.2'
7+
compileOptions {
8+
sourceCompatibility JavaVersion.VERSION_1_8
9+
targetCompatibility JavaVersion.VERSION_1_8
10+
}
711
defaultConfig {
812
applicationId "com.release.virtualinstructor"
913
minSdkVersion 21
1014
targetSdkVersion 29
11-
ndk.abiFilters 'arm64-v8a', 'armeabi-v7a'
15+
ndk.abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86'
1216
versionCode 2
1317
versionName "1.2"
1418
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -26,7 +30,7 @@ dependencies {
2630
implementation 'androidx.appcompat:appcompat:1.0.2'
2731
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
2832
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
29-
implementation 'com.google.firebase:firebase-auth:19.3.2'
33+
implementation 'com.google.firebase:firebase-auth:21.0.1'
3034
// implementation 'com.google.firebase:firebase-core:19.3.2'
3135
implementation 'com.google.firebase:firebase-database:19.3.1'
3236
testImplementation 'junit:junit:4.12'

app/src/main/java/com/release/virtualinstructor/MainActivity.java

Lines changed: 26 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,14 @@
22

33
import androidx.annotation.NonNull;
44
import androidx.appcompat.app.AppCompatActivity;
5-
import androidx.appcompat.widget.SearchView;
65
import androidx.fragment.app.Fragment;
76

87
import android.content.Intent;
98
import android.os.Bundle;
109
import android.view.MenuItem;
1110
import android.view.View;
12-
import android.widget.ArrayAdapter;
1311
import android.widget.ImageView;
1412
import android.widget.LinearLayout;
15-
import android.widget.ListView;
16-
import android.widget.RelativeLayout;
17-
import android.widget.Toast;
1813

1914
import com.google.android.material.bottomnavigation.BottomNavigationView;
2015
import com.google.firebase.auth.FirebaseAuth;
@@ -24,12 +19,9 @@
2419

2520
public class MainActivity extends AppCompatActivity {
2621

27-
ListView listView;
28-
ArrayAdapter adapter;
29-
ArrayList<String> list;
30-
ArrayList<String> temp;
31-
FirebaseAuth mAuth;
32-
FirebaseUser user;
22+
private FirebaseAuth mAuth;
23+
private FirebaseUser user;
24+
private FirebaseAuth.AuthStateListener authStateListener;
3325

3426
@Override
3527
protected void onCreate(Bundle savedInstanceState) {
@@ -39,11 +31,12 @@ protected void onCreate(Bundle savedInstanceState) {
3931
final ImageView meditation = findViewById(R.id.meditation_tab);
4032
final ImageView yoga = findViewById(R.id.yoga_tab);
4133
final LinearLayout share = findViewById(R.id.share);
34+
ImageView sign_out = findViewById(R.id.s);
4235
//ImageView three_dots = findViewById(R.id.three_dots);
4336

4437
// Firebase Authentication
4538
mAuth = FirebaseAuth.getInstance();
46-
mAuth.addAuthStateListener(new FirebaseAuth.AuthStateListener() {
39+
authStateListener = new FirebaseAuth.AuthStateListener() {
4740
@Override
4841
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
4942
user = mAuth.getCurrentUser();
@@ -52,7 +45,7 @@ public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
5245
finish();
5346
}
5447
}
55-
});
48+
};
5649

5750
//to start with meditation fragment
5851
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new meditation_fragment()).commit();
@@ -80,56 +73,6 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
8073
}
8174
});
8275

83-
/*meditation.setOnClickListener(new View.OnClickListener() {
84-
@Override
85-
public void onClick(View v) {
86-
87-
}
88-
});
89-
90-
//search yoga or meditation
91-
/*SearchView searchView = findViewById(R.id.search_view);
92-
listView = findViewById(R.id.list_view);
93-
list = new ArrayList<>();
94-
temp = new ArrayList<>();
95-
temp.add("Yoga");
96-
temp.add("Meditation");
97-
temp.add("Channel1");
98-
temp.add("Channel2");
99-
temp.add("Meditation1");
100-
temp.add("Meditation2");
101-
temp.add("Meditation3");
102-
temp.add("Meditation4");
103-
temp.add("Meditation5");
104-
temp.add("Meditation6");
105-
106-
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,list);
107-
108-
109-
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
110-
111-
@Override
112-
public boolean onQueryTextSubmit(String query) {
113-
list.clear();
114-
if(temp.contains(query)){
115-
list.add(query);
116-
}
117-
else{
118-
list.add("No match found");
119-
}
120-
listView.setAdapter(adapter);
121-
return false;
122-
}
123-
124-
@Override
125-
public boolean onQueryTextChange(String newText) {
126-
list.addAll(temp);
127-
adapter.getFilter().filter(newText);
128-
listView.setAdapter(adapter);
129-
return false;
130-
}
131-
});*/
132-
13376
//show share button
13477
/*three_dots.setOnClickListener(new View.OnClickListener() {
13578
@Override
@@ -160,5 +103,25 @@ public void onClick(View v) {
160103
}
161104
}
162105
});
106+
107+
sign_out.setOnClickListener(new View.OnClickListener() {
108+
@Override
109+
public void onClick(View v) {
110+
mAuth.signOut();
111+
}
112+
});
113+
}
114+
115+
116+
@Override
117+
protected void onPause() {
118+
super.onPause();
119+
mAuth.removeAuthStateListener(authStateListener);
120+
}
121+
122+
@Override
123+
protected void onResume() {
124+
super.onResume();
125+
mAuth.addAuthStateListener(authStateListener);
163126
}
164127
}

app/src/main/java/com/release/virtualinstructor/Youtube.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer;
1515
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.YouTubePlayerCallback;
16+
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.options.IFramePlayerOptions;
1617
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView;
1718
import com.pierfrancescosoffritti.androidyoutubeplayer.core.ui.PlayerUiController;
1819

@@ -34,7 +35,6 @@ protected void onCreate(Bundle savedInstanceState) {
3435

3536
final YouTubePlayerView youTubePlayerView = findViewById(R.id.youtube);
3637
getLifecycle().addObserver(youTubePlayerView);
37-
PlayerUiController playerUiController = youTubePlayerView.getPlayerUiController();
3838

3939
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
4040
alert.setMessage("To see in VR mode, click youtube icon below, and attach your phone to a VR set.");

app/src/main/java/com/release/virtualinstructor/login_fragment.java

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,28 @@
1212
import android.view.ViewGroup;
1313
import android.widget.Button;
1414
import android.widget.EditText;
15+
import android.widget.ImageView;
16+
import android.widget.ProgressBar;
1517
import android.widget.Toast;
1618

19+
import com.google.android.gms.auth.api.signin.GoogleSignIn;
20+
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
21+
import com.google.android.gms.auth.api.signin.GoogleSignInClient;
22+
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
23+
import com.google.android.gms.common.api.ApiException;
1724
import com.google.android.gms.tasks.OnCompleteListener;
1825
import com.google.android.gms.tasks.Task;
26+
import com.google.firebase.auth.AuthCredential;
1927
import com.google.firebase.auth.AuthResult;
2028
import com.google.firebase.auth.FirebaseAuth;
29+
import com.google.firebase.auth.GoogleAuthProvider;
2130

2231
public class login_fragment extends Fragment {
2332

2433
private FirebaseAuth mAuth;
34+
private static final int RC_SIGN_IN = 123;
35+
private GoogleSignInClient mGoogleSignInClient;
36+
private ProgressBar progressBar;
2537

2638
@Nullable
2739
@Override
@@ -32,10 +44,30 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c
3244
final EditText email = v.findViewById(R.id.email_id);
3345
final EditText password = v.findViewById(R.id.password);
3446
Button login = v.findViewById(R.id.login);
47+
progressBar = v.findViewById(R.id.progress);
3548

3649
// Authentication
3750
mAuth = FirebaseAuth.getInstance();
3851

52+
// Google sign in
53+
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
54+
.requestIdToken(getString(R.string.default_web_client_id))
55+
.requestEmail()
56+
.build();
57+
58+
mGoogleSignInClient = GoogleSignIn.getClient(getActivity(), gso);
59+
60+
ImageView GsignInButton;
61+
GsignInButton = v.findViewById(R.id.googleSignIn);
62+
GsignInButton.setOnClickListener(new View.OnClickListener() {
63+
@Override
64+
public void onClick(View view) {
65+
progressBar.setVisibility(View.VISIBLE);
66+
Intent signInIntent = mGoogleSignInClient.getSignInIntent();
67+
startActivityForResult(signInIntent, RC_SIGN_IN);
68+
}
69+
});
70+
3971
login.setOnClickListener(new View.OnClickListener() {
4072
@Override
4173
public void onClick(View v) {
@@ -76,4 +108,45 @@ public void onComplete(@NonNull Task<AuthResult> task) {
76108

77109
return v;
78110
}
111+
112+
@Override
113+
public void onActivityResult(int requestCode, int resultCode, Intent data) {
114+
super.onActivityResult(requestCode, resultCode, data);
115+
116+
// Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...);
117+
if (requestCode == RC_SIGN_IN) {
118+
// The Task returned from this call is always completed, no need to attach
119+
// a listener.
120+
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
121+
122+
//GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
123+
// handleSignInResult(task);
124+
//handleSignInResult(result);
125+
try {
126+
GoogleSignInAccount account = task.getResult(ApiException.class);
127+
firebaseAuthWithGoogle(account.getIdToken());
128+
}
129+
catch (ApiException e) {
130+
e.printStackTrace();
131+
Toast.makeText(getContext(), "Sign in failed", Toast.LENGTH_SHORT).show();
132+
}
133+
}
134+
}
135+
136+
private void firebaseAuthWithGoogle(String idToken) {
137+
AuthCredential credential = GoogleAuthProvider.getCredential(idToken, null);
138+
mAuth.signInWithCredential(credential).addOnCompleteListener(getActivity(), new OnCompleteListener<AuthResult>() {
139+
@Override
140+
public void onComplete(@NonNull Task<AuthResult> task) {
141+
if(task.isSuccessful()){
142+
progressBar.setVisibility(View.GONE);
143+
Intent i = new Intent(getContext(), MainActivity.class);
144+
startActivity(i);
145+
Toast.makeText(getContext(), "Signed in successfully", Toast.LENGTH_SHORT).show();
146+
}else{
147+
Toast.makeText(getContext(), "Sign in failed", Toast.LENGTH_SHORT).show();
148+
}
149+
}
150+
});
151+
}
79152
}

0 commit comments

Comments
 (0)