Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ChatSDKLoginActivity extends ChatSDKAbstractLoginActivity implements View.OnClickListener{
- private static final String TAG = ChatSDKLoginActivity.class.getSimpleName();
- private static boolean DEBUG = Debug.LoginActivity;
- private Button btnLogin, btnReg, btnAnon, btnTwitter;
- private ImageView appIconImage;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- enableFacebookIntegration(getNetworkAdapter().facebookEnabled());
- super.onCreate(savedInstanceState);
- setContentView(R.layout.chat_sdk_activty_login);
- setExitOnBackPressed(true);
- View view = findViewById(R.id.chat_sdk_root_view);
- setupTouchUIToDismissKeyboard(view);
- initViews();
- ((TextView) findViewById(R.id.chat_sdk_txt_version)).setText(String.valueOf(BuildConfig.VERSION_NAME));
- }
- @Override
- protected void initViews(){
- super.initViews();
- facebookLogin.setCompoundDrawablesWithIntrinsicBounds(0,0,0,0);
- facebookLogin.setBackgroundResource(R.drawable.ic_facebook);
- if (integratedWithFacebook)
- {
- facebookLogin.setReadPermissions(Arrays.asList("email", "user_friends"));
- }
- btnLogin = (Button) findViewById(R.id.chat_sdk_btn_login);
- btnAnon = (Button) findViewById(R.id.chat_sdk_btn_anon_login);
- btnTwitter = (Button) findViewById(R.id.chat_sdk_btn_twitter_login);
- btnReg = (Button) findViewById(R.id.chat_sdk_btn_register);
- etEmail = (EditText) findViewById(R.id.chat_sdk_et_mail);
- etPass = (EditText) findViewById(R.id.chat_sdk_et_password);
- appIconImage = (ImageView) findViewById(R.id.app_icon);
- appIconImage.post(new Runnable() {
- @Override
- public void run() {
- appIconImage.setVisibility(View.VISIBLE);
- }
- });
- }
- private void initListeners(){
- /* Registering listeners.*/
- btnLogin.setOnClickListener(this);
- btnReg.setOnClickListener(this);
- btnAnon.setOnClickListener(this);
- btnTwitter.setOnClickListener(this);
- etPass.setOnEditorActionListener(new TextView.OnEditorActionListener() {
- @Override
- public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if (actionId == EditorInfo.IME_ACTION_DONE){
- btnLogin.callOnClick();
- }
- return false;
- }
- });
- }
- @Override
- protected void onResume() {
- super.onResume();
- initListeners();
- }
- /* Dismiss dialog and open main activity.*/
- @Override
- protected void afterLogin(){
- super.afterLogin();
- // Updating the version name.
- BUser curUser = getNetworkAdapter().currentUserModel();
- String version = BDefines.BAppVersion,
- metaVersion = curUser.metaStringForKey(BDefines.Keys.BVersion);
- if (StringUtils.isNotEmpty(version))
- {
- if (StringUtils.isEmpty(metaVersion) || !metaVersion.equals(version))
- {
- curUser.setMetadataString(BDefines.Keys.BVersion, version);
- }
- DaoCore.updateEntity(curUser);
- }
- startMainActivity();
- }
- @Override
- public void onClick(View v) {
- int i = v.getId();
- if (i == R.id.chat_sdk_btn_login) {
- passwordLogin();
- }
- else if (i == R.id.chat_sdk_btn_anon_login) {
- anonymosLogin();
- }
- else if (i == R.id.chat_sdk_btn_register)
- {
- startActivity(new Intent(ChatSDKLoginActivity.this, chat_register.class));
- }
- else if (i == R.id.chat_sdk_btn_twitter_login){
- twitterLogin();
- }
- }
- }
- public class chat_register extends AppCompatActivity implements View.OnClickListener{
- //defining view objects
- private EditText editTextEmail;
- private EditText editTextPassword;
- private Button buttonSignup;
- private Button buttonSignin;
- private TextView textViewSignin;
- private ProgressDialog progressDialog;
- //defining firebaseauth object
- private FirebaseAuth firebaseAuth;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.chat_register);
- firebaseAuth = FirebaseAuth.getInstance();
- //if getCurrentUser does not returns null
- if(firebaseAuth.getCurrentUser() != null){
- //that means user is already logged in
- //so close this activity
- finish();
- //and open profile activity
- startActivity(new Intent(getApplicationContext(), ChatSDKMainActivity.class));
- }
- //initializing views
- editTextEmail = (EditText) findViewById(R.id.chat_sdk_et_mail);
- editTextPassword = (EditText) findViewById(R.id.chat_sdk_et_password);
- buttonSignin = (Button) findViewById(R.id.chat_sdk_btn_login);
- buttonSignup = (Button) findViewById(R.id.chat_sdk_btn_register);
- //attaching listener to button
- buttonSignup.setOnClickListener(this);
- buttonSignin.setOnClickListener(this);
- }
- private void registerUser(){
- //getting email and password from edit texts
- String email = editTextEmail.getText().toString().trim();
- String password = editTextPassword.getText().toString().trim();
- //checking if email and passwords are empty
- if(TextUtils.isEmpty(email)){
- Toast.makeText(this,"Please enter email",Toast.LENGTH_LONG).show();
- return;
- }
- if(TextUtils.isEmpty(password)){
- Toast.makeText(this,"Please enter password",Toast.LENGTH_LONG).show();
- return;
- }
- //if the email and password are not empty
- //displaying a progress dialog
- progressDialog.setMessage("Registering Please Wait...");
- progressDialog.show();
- //creating a new user
- firebaseAuth.createUserWithEmailAndPassword(email, password)
- .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- //checking if success
- if(task.isSuccessful()){
- finish();
- startActivity(new Intent(getApplicationContext(), ChatSDKMainActivity.class));
- }
- progressDialog.dismiss();
- }
- });
- }
- @Override
- public void onClick(View view) {
- if(view == buttonSignup){
- registerUser();
- }
- if(view == textViewSignin){
- //open login activity when user taps on the already registered textview
- startActivity(new Intent(this, ChatSDKLoginActivity.class));
- }
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@android:color/white"
- android:id="@+id/chat_sdk_register_view"
- tools:context="com.braunster.chatsdk.activities.chat_register">
- <LinearLayout
- android:layout_centerVertical="true"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
- <ImageView
- android:layout_width="160dp"
- android:layout_height="160dp"
- android:layout_centerHorizontal="true"
- android:src="@drawable/ic_launcher_big"
- android:id="@+id/app_icon"
- android:visibility="invisible"
- android:layout_gravity="center"
- android:layout_alignParentTop="true"
- />
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textEmailAddress"
- android:ems="10"
- android:nextFocusDown="@+id/chat_sdk_et_password"
- android:id="@+id/chat_sdk_et_mail"
- android:gravity="center"
- android:layout_above="@id/chat_sdk_et_password"
- android:layout_centerHorizontal="true"
- android:layout_centerVertical="true"
- android:hint="@string/email" />
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textPassword"
- android:ems="10"
- android:id="@+id/chat_sdk_et_password"
- android:layout_alignLeft="@+id/chat_sdk_et_mail"
- android:layout_alignStart="@+id/chat_sdk_et_mail"
- android:hint="@string/password"
- android:gravity="center"/>
- <Button
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="@string/register"
- style="@style/LoginButtonsStyle"
- android:background="@drawable/chat_sdk_register_button_selector"
- android:id="@+id/chat_sdk_btn_register"
- android:layout_weight="1"/>
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Already Registered? login"
- style="@style/LoginButtonsStyle"
- android:background="@drawable/chat_sdk_login_button_selector"
- android:id="@+id/chat_sdk_btn_login"
- android:layout_weight="1"/>
- </LinearLayout>
- </LinearLayout>
- <?xml version="1.0" encoding="utf-8"?>
- <!-- For image capturing -->
- <uses-feature
- android:name="android.hardware.camera"
- android:required="false" />
- <!-- For saving images to the internal and external storage. -->
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <!-- For Google Maps. -->
- <uses-feature
- android:glEsVersion="0x00020000"
- android:required="true" />
- <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- <!-- Parse -->
- <!--
- <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
- <uses-permission android:name="android.permission.WAKE_LOCK" />
- <uses-permission android:name="android.permission.VIBRATE"/>
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- -->
- <!-- Backendless -->
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.GET_ACCOUNTS" />
- <uses-permission android:name="android.permission.WAKE_LOCK" />
- <uses-permission android:name="android.permission.VIBRATE" />
- <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
- <uses-permission android:name="com.braunster.chatsdk.permission.C2D_MESSAGE" />
- <permission
- android:name="com.braunster.chatsdk.permission.C2D_MESSAGE"
- android:protectionLevel="signature" />
- <!-- BugSense -->
- <!-- <uses-permission android:name="android.permission.READ_LOGS" /> -->
- <application
- android:allowBackup="true"
- android:label="@string/app_name"
- android:largeHeap="true">
- <meta-data
- android:name="com.facebook.sdk.ApplicationId"
- android:value="@string/facebook_id" />
- <!-- android:theme="@android:style/Theme.NoDisplay" -->
- <activity android:name="com.facebook.LoginActivity">
- <intent-filter>
- <action android:name="android.intent.action.VIEW" />
- <category android:name="android.intent.category.DEFAULT" />
- <category android:name="android.intent.category.BROWSABLE" />
- <data
- android:host="http"
- android:scheme="androidchatsdktwitter.com" />
- </intent-filter>
- </activity>
- <activity
- android:name=".activities.ChatSDKThreadDetailsActivity"
- android:theme="@style/ChatSDKSlidingTransactionTheme"
- android:windowSoftInputMode="stateHidden" />
- <activity
- android:name=".activities.ChatSDKChatActivity"
- android:launchMode="singleTop"
- android:theme="@style/ChatSDKSlidingTransactionTheme"
- android:windowSoftInputMode="stateHidden|adjustResize" />
- <activity
- android:name=".activities.ChatSDKMainActivity"
- android:launchMode="singleTask"
- android:theme="@style/ChatSDKTheme"
- android:windowSoftInputMode="stateHidden|adjustResize" />
- <activity
- android:name=".activities.ChatSDKPickFriendsActivity"
- android:theme="@style/ChatSDKSlidingTransactionTheme"
- android:windowSoftInputMode="stateHidden" />
- <activity
- android:name=".activities.ChatSDKLocationActivity"
- android:theme="@style/ChatSDKTheme" />
- <activity
- android:name=".activities.chat_register"
- android:theme="@style/ChatSDKTheme" />
- <activity
- android:name=".activities.ChatSDKSearchActivity"
- android:theme="@style/ChatSDKTheme">
- <intent-filter>
- <action android:name="com.braunster.chatsdk.ACTION_SEARCH_AND_ADD_USERS" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
- </activity>
- <activity
- android:name=".activities.ChatSDKEditProfileActivity"
- android:theme="@style/ChatSDKSlidingTransactionTheme"
- android:windowSoftInputMode="stateHidden|adjustPan" />
- <activity
- android:name=".activities.ChatSDKShareWithContactsActivity"
- android:noHistory="true"
- android:theme="@style/ChatSDKTheme">
- <intent-filter>
- <action android:name="android.intent.action.SEND" />
- <category android:name="android.intent.category.DEFAULT" />
- <data android:mimeType="image/*" />
- </intent-filter>
- <intent-filter>
- <action android:name="android.intent.action.SEND" />
- <category android:name="android.intent.category.DEFAULT" />
- <data android:mimeType="text/plain" />
- </intent-filter>
- </activity>
- <!-- Crop image -->
- <activity android:name="com.soundcloud.android.crop.CropImageActivity" />
- <!-- Google Maps Metadata -->
- <meta-data
- android:name="com.google.android.gms.version"
- android:value="@integer/google_play_services_version" />
- </application>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement