Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.69 KB | None | 0 0
  1. public class ChatSDKLoginActivity extends ChatSDKAbstractLoginActivity implements View.OnClickListener{
  2.  
  3. private static final String TAG = ChatSDKLoginActivity.class.getSimpleName();
  4. private static boolean DEBUG = Debug.LoginActivity;
  5.  
  6. private Button btnLogin, btnReg, btnAnon, btnTwitter;
  7. private ImageView appIconImage;
  8.  
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. enableFacebookIntegration(getNetworkAdapter().facebookEnabled());
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.chat_sdk_activty_login);
  14.  
  15. setExitOnBackPressed(true);
  16.  
  17. View view = findViewById(R.id.chat_sdk_root_view);
  18.  
  19. setupTouchUIToDismissKeyboard(view);
  20.  
  21. initViews();
  22.  
  23. ((TextView) findViewById(R.id.chat_sdk_txt_version)).setText(String.valueOf(BuildConfig.VERSION_NAME));
  24. }
  25.  
  26. @Override
  27. protected void initViews(){
  28. super.initViews();
  29. facebookLogin.setCompoundDrawablesWithIntrinsicBounds(0,0,0,0);
  30. facebookLogin.setBackgroundResource(R.drawable.ic_facebook);
  31.  
  32. if (integratedWithFacebook)
  33. {
  34.  
  35. facebookLogin.setReadPermissions(Arrays.asList("email", "user_friends"));
  36. }
  37.  
  38. btnLogin = (Button) findViewById(R.id.chat_sdk_btn_login);
  39. btnAnon = (Button) findViewById(R.id.chat_sdk_btn_anon_login);
  40. btnTwitter = (Button) findViewById(R.id.chat_sdk_btn_twitter_login);
  41. btnReg = (Button) findViewById(R.id.chat_sdk_btn_register);
  42. etEmail = (EditText) findViewById(R.id.chat_sdk_et_mail);
  43. etPass = (EditText) findViewById(R.id.chat_sdk_et_password);
  44.  
  45. appIconImage = (ImageView) findViewById(R.id.app_icon);
  46.  
  47. appIconImage.post(new Runnable() {
  48. @Override
  49. public void run() {
  50. appIconImage.setVisibility(View.VISIBLE);
  51. }
  52. });
  53. }
  54.  
  55. private void initListeners(){
  56. /* Registering listeners.*/
  57. btnLogin.setOnClickListener(this);
  58. btnReg.setOnClickListener(this);
  59. btnAnon.setOnClickListener(this);
  60. btnTwitter.setOnClickListener(this);
  61.  
  62. etPass.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  63. @Override
  64. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  65. if (actionId == EditorInfo.IME_ACTION_DONE){
  66. btnLogin.callOnClick();
  67. }
  68. return false;
  69. }
  70. });
  71. }
  72. @Override
  73. protected void onResume() {
  74. super.onResume();
  75.  
  76. initListeners();
  77. }
  78.  
  79. /* Dismiss dialog and open main activity.*/
  80. @Override
  81. protected void afterLogin(){
  82. super.afterLogin();
  83.  
  84. // Updating the version name.
  85. BUser curUser = getNetworkAdapter().currentUserModel();
  86.  
  87. String version = BDefines.BAppVersion,
  88. metaVersion = curUser.metaStringForKey(BDefines.Keys.BVersion);
  89.  
  90. if (StringUtils.isNotEmpty(version))
  91. {
  92. if (StringUtils.isEmpty(metaVersion) || !metaVersion.equals(version))
  93. {
  94. curUser.setMetadataString(BDefines.Keys.BVersion, version);
  95. }
  96.  
  97. DaoCore.updateEntity(curUser);
  98. }
  99.  
  100. startMainActivity();
  101. }
  102.  
  103. @Override
  104. public void onClick(View v) {
  105. int i = v.getId();
  106.  
  107. if (i == R.id.chat_sdk_btn_login) {
  108. passwordLogin();
  109. }
  110. else if (i == R.id.chat_sdk_btn_anon_login) {
  111. anonymosLogin();
  112. }
  113. else if (i == R.id.chat_sdk_btn_register)
  114. {
  115. startActivity(new Intent(ChatSDKLoginActivity.this, chat_register.class));
  116. }
  117.  
  118. else if (i == R.id.chat_sdk_btn_twitter_login){
  119. twitterLogin();
  120. }
  121. }
  122. }
  123.  
  124. public class chat_register extends AppCompatActivity implements View.OnClickListener{
  125.  
  126. //defining view objects
  127. private EditText editTextEmail;
  128. private EditText editTextPassword;
  129. private Button buttonSignup;
  130. private Button buttonSignin;
  131.  
  132. private TextView textViewSignin;
  133.  
  134. private ProgressDialog progressDialog;
  135.  
  136.  
  137. //defining firebaseauth object
  138. private FirebaseAuth firebaseAuth;
  139.  
  140. @Override
  141. protected void onCreate(Bundle savedInstanceState) {
  142. super.onCreate(savedInstanceState);
  143. setContentView(R.layout.chat_register);
  144.  
  145. firebaseAuth = FirebaseAuth.getInstance();
  146.  
  147. //if getCurrentUser does not returns null
  148. if(firebaseAuth.getCurrentUser() != null){
  149. //that means user is already logged in
  150. //so close this activity
  151. finish();
  152.  
  153. //and open profile activity
  154. startActivity(new Intent(getApplicationContext(), ChatSDKMainActivity.class));
  155. }
  156.  
  157. //initializing views
  158. editTextEmail = (EditText) findViewById(R.id.chat_sdk_et_mail);
  159. editTextPassword = (EditText) findViewById(R.id.chat_sdk_et_password);
  160.  
  161. buttonSignin = (Button) findViewById(R.id.chat_sdk_btn_login);
  162.  
  163. buttonSignup = (Button) findViewById(R.id.chat_sdk_btn_register);
  164.  
  165. //attaching listener to button
  166. buttonSignup.setOnClickListener(this);
  167. buttonSignin.setOnClickListener(this);
  168. }
  169.  
  170. private void registerUser(){
  171.  
  172. //getting email and password from edit texts
  173. String email = editTextEmail.getText().toString().trim();
  174. String password = editTextPassword.getText().toString().trim();
  175.  
  176. //checking if email and passwords are empty
  177. if(TextUtils.isEmpty(email)){
  178. Toast.makeText(this,"Please enter email",Toast.LENGTH_LONG).show();
  179. return;
  180. }
  181.  
  182. if(TextUtils.isEmpty(password)){
  183. Toast.makeText(this,"Please enter password",Toast.LENGTH_LONG).show();
  184. return;
  185. }
  186.  
  187. //if the email and password are not empty
  188. //displaying a progress dialog
  189.  
  190. progressDialog.setMessage("Registering Please Wait...");
  191. progressDialog.show();
  192.  
  193. //creating a new user
  194. firebaseAuth.createUserWithEmailAndPassword(email, password)
  195. .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
  196. @Override
  197. public void onComplete(@NonNull Task<AuthResult> task) {
  198. //checking if success
  199. if(task.isSuccessful()){
  200. finish();
  201. startActivity(new Intent(getApplicationContext(), ChatSDKMainActivity.class));
  202. }
  203. progressDialog.dismiss();
  204. }
  205. });
  206.  
  207. }
  208.  
  209. @Override
  210. public void onClick(View view) {
  211.  
  212. if(view == buttonSignup){
  213. registerUser();
  214. }
  215.  
  216. if(view == textViewSignin){
  217. //open login activity when user taps on the already registered textview
  218. startActivity(new Intent(this, ChatSDKLoginActivity.class));
  219. }
  220.  
  221. }
  222. }
  223.  
  224. <?xml version="1.0" encoding="utf-8"?>
  225. <LinearLayout
  226. xmlns:android="http://schemas.android.com/apk/res/android"
  227. xmlns:tools="http://schemas.android.com/tools"
  228. android:orientation="vertical"
  229. android:layout_width="match_parent"
  230. android:layout_height="match_parent"
  231. android:background="@android:color/white"
  232. android:id="@+id/chat_sdk_register_view"
  233. tools:context="com.braunster.chatsdk.activities.chat_register">
  234.  
  235. <LinearLayout
  236. android:layout_centerVertical="true"
  237. android:layout_width="match_parent"
  238. android:layout_height="wrap_content"
  239. android:orientation="vertical">
  240.  
  241.  
  242. <ImageView
  243. android:layout_width="160dp"
  244. android:layout_height="160dp"
  245. android:layout_centerHorizontal="true"
  246. android:src="@drawable/ic_launcher_big"
  247. android:id="@+id/app_icon"
  248. android:visibility="invisible"
  249. android:layout_gravity="center"
  250. android:layout_alignParentTop="true"
  251. />
  252.  
  253. <EditText
  254. android:layout_width="match_parent"
  255. android:layout_height="wrap_content"
  256. android:inputType="textEmailAddress"
  257. android:ems="10"
  258. android:nextFocusDown="@+id/chat_sdk_et_password"
  259. android:id="@+id/chat_sdk_et_mail"
  260. android:gravity="center"
  261. android:layout_above="@id/chat_sdk_et_password"
  262. android:layout_centerHorizontal="true"
  263. android:layout_centerVertical="true"
  264. android:hint="@string/email" />
  265.  
  266. <EditText
  267. android:layout_width="match_parent"
  268. android:layout_height="wrap_content"
  269. android:inputType="textPassword"
  270. android:ems="10"
  271. android:id="@+id/chat_sdk_et_password"
  272. android:layout_alignLeft="@+id/chat_sdk_et_mail"
  273. android:layout_alignStart="@+id/chat_sdk_et_mail"
  274. android:hint="@string/password"
  275. android:gravity="center"/>
  276.  
  277.  
  278. <Button
  279. android:layout_width="match_parent"
  280. android:layout_height="match_parent"
  281. android:text="@string/register"
  282. style="@style/LoginButtonsStyle"
  283. android:background="@drawable/chat_sdk_register_button_selector"
  284. android:id="@+id/chat_sdk_btn_register"
  285. android:layout_weight="1"/>
  286.  
  287. <Button
  288. android:layout_width="match_parent"
  289. android:layout_height="wrap_content"
  290. android:text="Already Registered? login"
  291. style="@style/LoginButtonsStyle"
  292. android:background="@drawable/chat_sdk_login_button_selector"
  293. android:id="@+id/chat_sdk_btn_login"
  294. android:layout_weight="1"/>
  295.  
  296. </LinearLayout>
  297.  
  298. </LinearLayout>
  299.  
  300. <?xml version="1.0" encoding="utf-8"?>
  301.  
  302. <!-- For image capturing -->
  303. <uses-feature
  304. android:name="android.hardware.camera"
  305. android:required="false" />
  306.  
  307. <!-- For saving images to the internal and external storage. -->
  308. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  309. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  310.  
  311. <!-- For Google Maps. -->
  312. <uses-feature
  313. android:glEsVersion="0x00020000"
  314. android:required="true" />
  315.  
  316. <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
  317. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  318. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  319.  
  320. <!-- Parse -->
  321. <!--
  322. <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
  323. <uses-permission android:name="android.permission.WAKE_LOCK" />
  324. <uses-permission android:name="android.permission.VIBRATE"/>
  325. <uses-permission android:name="android.permission.INTERNET"/>
  326. <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
  327. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  328. -->
  329.  
  330.  
  331. <!-- Backendless -->
  332. <uses-permission android:name="android.permission.INTERNET" />
  333. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  334. <uses-permission android:name="android.permission.WAKE_LOCK" />
  335. <uses-permission android:name="android.permission.VIBRATE" />
  336. <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
  337. <uses-permission android:name="com.braunster.chatsdk.permission.C2D_MESSAGE" />
  338.  
  339. <permission
  340. android:name="com.braunster.chatsdk.permission.C2D_MESSAGE"
  341. android:protectionLevel="signature" />
  342.  
  343. <!-- BugSense -->
  344. <!-- <uses-permission android:name="android.permission.READ_LOGS" /> -->
  345. <application
  346. android:allowBackup="true"
  347. android:label="@string/app_name"
  348. android:largeHeap="true">
  349. <meta-data
  350. android:name="com.facebook.sdk.ApplicationId"
  351. android:value="@string/facebook_id" />
  352.  
  353. <!-- android:theme="@android:style/Theme.NoDisplay" -->
  354. <activity android:name="com.facebook.LoginActivity">
  355. <intent-filter>
  356. <action android:name="android.intent.action.VIEW" />
  357.  
  358. <category android:name="android.intent.category.DEFAULT" />
  359. <category android:name="android.intent.category.BROWSABLE" />
  360.  
  361. <data
  362. android:host="http"
  363. android:scheme="androidchatsdktwitter.com" />
  364. </intent-filter>
  365. </activity>
  366. <activity
  367. android:name=".activities.ChatSDKThreadDetailsActivity"
  368. android:theme="@style/ChatSDKSlidingTransactionTheme"
  369. android:windowSoftInputMode="stateHidden" />
  370. <activity
  371. android:name=".activities.ChatSDKChatActivity"
  372. android:launchMode="singleTop"
  373. android:theme="@style/ChatSDKSlidingTransactionTheme"
  374. android:windowSoftInputMode="stateHidden|adjustResize" />
  375. <activity
  376. android:name=".activities.ChatSDKMainActivity"
  377. android:launchMode="singleTask"
  378. android:theme="@style/ChatSDKTheme"
  379. android:windowSoftInputMode="stateHidden|adjustResize" />
  380.  
  381. <activity
  382. android:name=".activities.ChatSDKPickFriendsActivity"
  383. android:theme="@style/ChatSDKSlidingTransactionTheme"
  384. android:windowSoftInputMode="stateHidden" />
  385. <activity
  386. android:name=".activities.ChatSDKLocationActivity"
  387. android:theme="@style/ChatSDKTheme" />
  388.  
  389. <activity
  390. android:name=".activities.chat_register"
  391. android:theme="@style/ChatSDKTheme" />
  392.  
  393. <activity
  394. android:name=".activities.ChatSDKSearchActivity"
  395. android:theme="@style/ChatSDKTheme">
  396. <intent-filter>
  397. <action android:name="com.braunster.chatsdk.ACTION_SEARCH_AND_ADD_USERS" />
  398.  
  399. <category android:name="android.intent.category.DEFAULT" />
  400. </intent-filter>
  401. </activity>
  402. <activity
  403. android:name=".activities.ChatSDKEditProfileActivity"
  404. android:theme="@style/ChatSDKSlidingTransactionTheme"
  405. android:windowSoftInputMode="stateHidden|adjustPan" />
  406. <activity
  407. android:name=".activities.ChatSDKShareWithContactsActivity"
  408. android:noHistory="true"
  409. android:theme="@style/ChatSDKTheme">
  410. <intent-filter>
  411. <action android:name="android.intent.action.SEND" />
  412.  
  413. <category android:name="android.intent.category.DEFAULT" />
  414.  
  415. <data android:mimeType="image/*" />
  416. </intent-filter>
  417. <intent-filter>
  418. <action android:name="android.intent.action.SEND" />
  419.  
  420. <category android:name="android.intent.category.DEFAULT" />
  421.  
  422. <data android:mimeType="text/plain" />
  423. </intent-filter>
  424. </activity>
  425.  
  426. <!-- Crop image -->
  427. <activity android:name="com.soundcloud.android.crop.CropImageActivity" />
  428.  
  429. <!-- Google Maps Metadata -->
  430. <meta-data
  431. android:name="com.google.android.gms.version"
  432. android:value="@integer/google_play_services_version" />
  433.  
  434. </application>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement