Skip to content

Commit c1ce66e

Browse files
mayank8318iamareebjamal
authored andcommitted
refactor: Move all hideKeyboard methods to a common static method. (fossasia#2308)
1 parent f9f4c3f commit c1ce66e

File tree

6 files changed

+30
-72
lines changed

6 files changed

+30
-72
lines changed

android/app/src/main/java/org/fossasia/openevent/common/ui/Views.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import android.text.method.LinkMovementMethod;
2222
import android.view.View;
2323
import android.view.ViewTreeObserver;
24+
import android.view.inputmethod.InputMethodManager;
2425
import android.widget.EdgeEffect;
2526
import android.widget.ImageView;
2627
import android.widget.TextView;
@@ -201,4 +202,14 @@ public static void setEdgeGlowColor(@NonNull EdgeEffectCompat edgeEffect, @Color
201202
public static int getAccentColor(final Context context) {
202203
return ContextCompat.getColor(context, R.color.color_accent);
203204
}
205+
206+
public static void hideKeyboard(Context context, View view) {
207+
if (view != null) {
208+
InputMethodManager manager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
209+
view.clearFocus();
210+
if (manager != null) {
211+
manager.hideSoftInputFromWindow(view.getWindowToken(), 0);
212+
}
213+
}
214+
}
204215
}

android/app/src/main/java/org/fossasia/openevent/common/utils/Utils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ public static int getSocialLinkDrawableId(String link) {
172172
return id;
173173
}
174174

175-
public static String getSocialLinkName(String link) {
175+
private static String getSocialLinkName(String link) {
176176

177177
if (link.contains(getSocialLinkHostName(ConstantStrings.SOCIAL_LINK_GITHUB))) {
178178
return ConstantStrings.SOCIAL_LINK_GITHUB;

android/app/src/main/java/org/fossasia/openevent/core/auth/ChangePasswordActivity.java

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
package org.fossasia.openevent.core.auth;
22

33
import android.arch.lifecycle.ViewModelProviders;
4-
import android.content.Context;
54
import android.os.Bundle;
65
import android.support.annotation.StringRes;
76
import android.support.design.widget.TextInputLayout;
87
import android.support.v7.app.AppCompatActivity;
98
import android.support.v7.widget.AppCompatEditText;
109
import android.view.MenuItem;
1110
import android.view.View;
12-
import android.view.inputmethod.InputMethodManager;
1311
import android.widget.Button;
1412
import android.widget.ProgressBar;
1513
import android.widget.Toast;
1614

1715
import org.fossasia.openevent.R;
18-
import org.fossasia.openevent.core.auth.model.User;
16+
import org.fossasia.openevent.common.ui.Views;
1917
import org.fossasia.openevent.common.utils.Utils;
18+
import org.fossasia.openevent.core.auth.model.User;
2019

2120
import butterknife.BindView;
2221
import butterknife.ButterKnife;
@@ -54,16 +53,14 @@ protected void onCreate(Bundle savedInstanceState) {
5453
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
5554

5655
changePasswordActivityViewModel = ViewModelProviders.of(this).get(ChangePasswordActivityViewModel.class);
57-
changePasswordActivityViewModel.getUser().observe(this, user -> {
58-
this.user = user;
59-
});
56+
changePasswordActivityViewModel.getUser().observe(this, user -> this.user = user);
6057

6158
currentPasswordInput = (AppCompatEditText) currentPasswordWrapper.getEditText();
6259
newPasswordInput = (AppCompatEditText) newPasswordWrapper.getEditText();
6360
confirmPasswordInput = (AppCompatEditText) confirmPasswordWrapper.getEditText();
6461

6562
changePassword.setOnClickListener(v -> {
66-
hideKeyBoard();
63+
Views.hideKeyboard(this, this.getCurrentFocus());
6764
saveChanges();
6865
});
6966
}
@@ -163,17 +160,6 @@ private void showProgressBar(boolean show) {
163160
}
164161
}
165162

166-
private void hideKeyBoard() {
167-
View view = this.getCurrentFocus();
168-
if (view != null) {
169-
InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
170-
view.clearFocus();
171-
if (manager != null) {
172-
manager.hideSoftInputFromWindow(view.getWindowToken(), 0);
173-
}
174-
}
175-
}
176-
177163
@Override
178164
public boolean onOptionsItemSelected(MenuItem item) {
179165
switch (item.getItemId()) {

android/app/src/main/java/org/fossasia/openevent/core/auth/LoginActivity.java

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.fossasia.openevent.core.auth;
22

33
import android.arch.lifecycle.ViewModelProviders;
4-
import android.content.Context;
54
import android.content.Intent;
65
import android.os.Bundle;
76
import android.support.annotation.StringRes;
@@ -14,7 +13,6 @@
1413
import android.view.MenuItem;
1514
import android.view.View;
1615
import android.view.inputmethod.EditorInfo;
17-
import android.view.inputmethod.InputMethodManager;
1816
import android.widget.Button;
1917
import android.widget.LinearLayout;
2018
import android.widget.ProgressBar;
@@ -23,9 +21,10 @@
2321

2422
import org.fossasia.openevent.OpenEventApp;
2523
import org.fossasia.openevent.R;
26-
import org.fossasia.openevent.core.main.MainActivity;
2724
import org.fossasia.openevent.common.ConstantStrings;
25+
import org.fossasia.openevent.common.ui.Views;
2826
import org.fossasia.openevent.common.utils.SharedPreferencesUtil;
27+
import org.fossasia.openevent.core.main.MainActivity;
2928

3029
import butterknife.BindView;
3130
import butterknife.ButterKnife;
@@ -78,7 +77,7 @@ protected void onCreate(Bundle savedInstanceState) {
7877
loginActivityViewModel = ViewModelProviders.of(this).get(LoginActivityViewModel.class);
7978

8079
login.setOnClickListener(v -> {
81-
hideKeyBoard();
80+
Views.hideKeyboard(this, this.getCurrentFocus());
8281

8382
progressBar.setVisibility(View.VISIBLE);
8483
email = emailInput.getText().toString();
@@ -161,24 +160,13 @@ public void finish() {
161160
@Override
162161
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
163162
if (actionId == EditorInfo.IME_ACTION_DONE) {
164-
hideKeyBoard();
163+
Views.hideKeyboard(this, this.getCurrentFocus());
165164
login.performClick();
166165
return true;
167166
}
168167
return false;
169168
}
170169

171-
private void hideKeyBoard() {
172-
View view = this.getCurrentFocus();
173-
if (view != null) {
174-
InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
175-
view.clearFocus();
176-
if (manager != null) {
177-
manager.hideSoftInputFromWindow(view.getWindowToken(), 0);
178-
}
179-
}
180-
}
181-
182170
@Override
183171
public boolean onOptionsItemSelected(MenuItem item) {
184172
switch (item.getItemId()) {

android/app/src/main/java/org/fossasia/openevent/core/auth/SignUpActivity.java

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.fossasia.openevent.core.auth;
22

33
import android.arch.lifecycle.ViewModelProviders;
4-
import android.content.Context;
54
import android.content.Intent;
65
import android.os.Bundle;
76
import android.support.annotation.StringRes;
@@ -14,7 +13,6 @@
1413
import android.view.MenuItem;
1514
import android.view.View;
1615
import android.view.inputmethod.EditorInfo;
17-
import android.view.inputmethod.InputMethodManager;
1816
import android.widget.Button;
1917
import android.widget.LinearLayout;
2018
import android.widget.ProgressBar;
@@ -23,9 +21,10 @@
2321

2422
import org.fossasia.openevent.OpenEventApp;
2523
import org.fossasia.openevent.R;
26-
import org.fossasia.openevent.core.main.MainActivity;
2724
import org.fossasia.openevent.common.ConstantStrings;
25+
import org.fossasia.openevent.common.ui.Views;
2826
import org.fossasia.openevent.common.utils.SharedPreferencesUtil;
27+
import org.fossasia.openevent.core.main.MainActivity;
2928

3029
import butterknife.BindView;
3130
import butterknife.ButterKnife;
@@ -77,7 +76,7 @@ protected void onCreate(Bundle savedInstanceState) {
7776
switchToLogin.setOnClickListener(v -> onBackPressed());
7877

7978
signUp.setOnClickListener(v -> {
80-
hideKeyBoard();
79+
Views.hideKeyboard(this, this.getCurrentFocus());
8180

8281
email = emailInput.getText().toString();
8382
password = createPasswordInput.getText().toString();
@@ -187,24 +186,13 @@ private void handleError(TextInputLayout textInputLayout, @StringRes int id) {
187186
@Override
188187
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
189188
if (actionId == EditorInfo.IME_ACTION_DONE) {
190-
hideKeyBoard();
189+
Views.hideKeyboard(this, this.getCurrentFocus());
191190
signUp.performClick();
192191
return true;
193192
}
194193
return false;
195194
}
196195

197-
private void hideKeyBoard() {
198-
View view = this.getCurrentFocus();
199-
if (view != null) {
200-
InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
201-
view.clearFocus();
202-
if (manager != null) {
203-
manager.hideSoftInputFromWindow(view.getWindowToken(), 0);
204-
}
205-
}
206-
}
207-
208196
@Override
209197
public boolean onOptionsItemSelected(MenuItem item) {
210198
switch (item.getItemId()) {

android/app/src/main/java/org/fossasia/openevent/core/auth/profile/EditProfileActivity.java

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.fossasia.openevent.core.auth.profile;
22

33
import android.arch.lifecycle.ViewModelProviders;
4-
import android.content.Context;
54
import android.content.Intent;
65
import android.graphics.Bitmap;
76
import android.graphics.BitmapFactory;
@@ -15,7 +14,6 @@
1514
import android.util.Base64;
1615
import android.view.MenuItem;
1716
import android.view.View;
18-
import android.view.inputmethod.InputMethodManager;
1917
import android.widget.Button;
2018
import android.widget.ImageView;
2119
import android.widget.ProgressBar;
@@ -25,12 +23,13 @@
2523

2624
import org.fossasia.openevent.OpenEventApp;
2725
import org.fossasia.openevent.R;
28-
import org.fossasia.openevent.core.auth.model.User;
29-
import org.fossasia.openevent.core.auth.AuthUtil;
30-
import org.fossasia.openevent.common.ui.image.CircleTransform;
3126
import org.fossasia.openevent.common.ConstantStrings;
27+
import org.fossasia.openevent.common.ui.Views;
28+
import org.fossasia.openevent.common.ui.image.CircleTransform;
3229
import org.fossasia.openevent.common.utils.SharedPreferencesUtil;
3330
import org.fossasia.openevent.common.utils.Utils;
31+
import org.fossasia.openevent.core.auth.AuthUtil;
32+
import org.fossasia.openevent.core.auth.model.User;
3433

3534
import java.io.ByteArrayOutputStream;
3635
import java.io.File;
@@ -83,12 +82,10 @@ protected void onCreate(Bundle savedInstanceState) {
8382
showUserData(user);
8483
});
8584

86-
avatar.setOnClickListener(v -> {
87-
showFileChooser();
88-
});
85+
avatar.setOnClickListener(v -> showFileChooser());
8986

9087
save.setOnClickListener(v -> {
91-
hideKeyBoard();
88+
Views.hideKeyboard(this, this.getCurrentFocus());
9289
saveChanges();
9390
});
9491
}
@@ -263,18 +260,6 @@ private void showProgressBar(boolean show) {
263260
}
264261
}
265262

266-
// TODO: Move all hideKeyboard methods to a common static method
267-
private void hideKeyBoard() {
268-
View view = this.getCurrentFocus();
269-
if (view != null) {
270-
InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
271-
view.clearFocus();
272-
if (manager != null) {
273-
manager.hideSoftInputFromWindow(view.getWindowToken(), 0);
274-
}
275-
}
276-
}
277-
278263
@Override
279264
public boolean onOptionsItemSelected(MenuItem item) {
280265
switch (item.getItemId()) {

0 commit comments

Comments
 (0)