public class UsernearmeActivity extends AppCompatActivity implements ActivityWithToolbar, View.OnClickListener {
private GridView mUserGrid;
private Toolbar mToolbar;
private Drawer mSpeedDateDrawer;
private WaitForInternetConnectionView mWaitForInternetConnectionView;
private User mCurrentUser;
//Gender option buttons
private TextView mMaleButton, mFemaleButton, mBothButton;
private LinearLayout mUserNotFoundLayout;
private Button mRetryButton;
private UsernearmeParseAdapter maleAdapter, femaleAdapter, bothAdapter, currentAdapter;
List<User> mUsers;
private AdView mAdBanner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_usernearme);
mCurrentUser = (User)User.getCurrentUser();
mMaleButton = (TextView) findViewById(R.id.button_male);
mFemaleButton = (TextView) findViewById(R.id.button_female);
mBothButton = (TextView) findViewById(R.id.button_both);
mUserNotFoundLayout = (LinearLayout)findViewById(R.id.layout_userNotFound_wrapper);
mRetryButton = (Button) findViewById(R.id.button_retry);
final TelephonyManager tm =(TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
Config.log(tm.getDeviceId());
mAdBanner = (AdView)findViewById(R.id.ad_banner);
///
if(mCurrentUser.isVip()){
mAdBanner.setVisibility(View.GONE);
} else {
String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
String deviceId = md5(android_id).toUpperCase();
Log.i("device id=",deviceId);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(deviceId)
.build();
mAdBanner.loadAd(adRequest);
}
mMaleButton.setOnClickListener(this);
mFemaleButton.setOnClickListener(this);
mBothButton.setOnClickListener(this);
mRetryButton.setOnClickListener(this);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
mUserGrid = (GridView) findViewById(R.id.user_near_me_grid);
mWaitForInternetConnectionView = (WaitForInternetConnectionView)findViewById(R.id.wait_for_internet_connection);
setSupportActionBar(mToolbar);
getSupportActionBar().setTitle("Users near");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mSpeedDateDrawer = SpeedDateNavigationDrawer.createDrawer(this);
mUserGrid.setOnItemClickListener(new OnItemClickListener());
setBothButtonSelected(true);
getBothUsers();
}
public String md5(String s) {
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
for (int i=0; i<messageDigest.length; i++)
hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
protected void getMaleUsers(){
mWaitForInternetConnectionView.checkInternetConnection(new WaitForInternetConnectionView.OnConnectionIsAvailableListener() {
@Override
public void onConnectionIsAvailable() {
if(maleAdapter == null){
maleAdapter = new UsernearmeParseAdapter(UsernearmeActivity.this, UsernearmeParseAdapter.TYPE_MALE);
}
currentAdapter = maleAdapter;
mUserGrid.setAdapter(currentAdapter);
currentAdapter.loadObjects();
mWaitForInternetConnectionView.close();
}
});
}
protected void getFemaleUsers(){
mWaitForInternetConnectionView.checkInternetConnection(new WaitForInternetConnectionView.OnConnectionIsAvailableListener() {
@Override
public void onConnectionIsAvailable() {
if(femaleAdapter == null){
femaleAdapter = new UsernearmeParseAdapter(UsernearmeActivity.this, UsernearmeParseAdapter.TYPE_FEMALE);
}
currentAdapter = femaleAdapter;
mUserGrid.setAdapter(currentAdapter);
currentAdapter.loadObjects();
mWaitForInternetConnectionView.close();
}
});
}
protected void getBothUsers(){
mWaitForInternetConnectionView.checkInternetConnection(new WaitForInternetConnectionView.OnConnectionIsAvailableListener() {
@Override
public void onConnectionIsAvailable() {
if(bothAdapter == null){
bothAdapter = new UsernearmeParseAdapter(UsernearmeActivity.this, UsernearmeParseAdapter.TYPE_BOTH);
}
currentAdapter = bothAdapter;
mUserGrid.setAdapter(currentAdapter);
currentAdapter.loadObjects();
mWaitForInternetConnectionView.close();
}
});
}
public void showUserNotFound(){
mUserNotFoundLayout.setVisibility(View.VISIBLE);
}
public void hideUserNotFound(){
mUserNotFoundLayout.setVisibility(View.GONE);
}
@Override
protected void onResume() {
super.onResume();
getBothUsers();
}
@Override
public Toolbar getToolbar() {
return mToolbar;
}
@Override
public Activity getActivity() {
return this;
}
@Override
public int getDriwerId() {
return SpeedDateNavigationDrawer.DRAWER_ID_USERS_NEAR_ME;
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button_male:
setMaleButtonSelected(true);
getMaleUsers();
break;
case R.id.button_female:
setFemaleButtonSelected(true);
getFemaleUsers();
break;
case R.id.button_both:
setBothButtonSelected(true);
getBothUsers();
break;
case R.id.button_retry:
getBothUsers();
break;
}
}
protected void setMaleButtonSelected(boolean selected){
if(selected){
mMaleButton.setTextColor(getResources().getColor(R.color.alizarin));
mMaleButton.setSelected(true);
setFemaleButtonSelected(false);
setBothButtonSelected(false);
} else {
mMaleButton.setTextColor(getResources().getColor(R.color.text_color));
mMaleButton.setSelected(false);
}
}
protected void setFemaleButtonSelected(boolean selected){
if(selected){
mFemaleButton.setTextColor(getResources().getColor(R.color.alizarin));
mFemaleButton.setSelected(true);
setMaleButtonSelected(false);
setBothButtonSelected(false);
} else {
mFemaleButton.setTextColor(getResources().getColor(R.color.text_color));
mFemaleButton.setSelected(false);
}
}
protected void setBothButtonSelected(boolean selected){
if(selected){
mBothButton.setTextColor(getResources().getColor(R.color.alizarin));
mBothButton.setSelected(true);
setFemaleButtonSelected(false);
setMaleButtonSelected(false);
} else {
mBothButton.setTextColor(getResources().getColor(R.color.text_color));
mBothButton.setSelected(false);
}
}
private class OnItemClickListener implements GridView.OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent profileIntent = new Intent(UsernearmeActivity.this, ProfileActivity.class);
profileIntent.putExtra(ProfileActivity.EXTRA_USER_ID, currentAdapter.getItem(position).getObjectId());
UsernearmeActivity.this.startActivity(profileIntent);
}
}
}[code=auto:0]
Tak jak wspominałem na 5.01 i 5.1 działa wszystko ok :/
Połączony post:
[codepublic class UsernearmeActivity extends AppCompatActivity implements ActivityWithToolbar, View.OnClickListener {
private GridView mUserGrid;
private Toolbar mToolbar;
private Drawer mSpeedDateDrawer;
private WaitForInternetConnectionView mWaitForInternetConnectionView;
private User mCurrentUser;
//Gender option buttons
private TextView mMaleButton, mFemaleButton, mBothButton;
private LinearLayout mUserNotFoundLayout;
private Button mRetryButton;
private UsernearmeParseAdapter maleAdapter, femaleAdapter, bothAdapter, currentAdapter;
List<User> mUsers;
private AdView mAdBanner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_usernearme);
mCurrentUser = (User)User.getCurrentUser();
mMaleButton = (TextView) findViewById(R.id.button_male);
mFemaleButton = (TextView) findViewById(R.id.button_female);
mBothButton = (TextView) findViewById(R.id.button_both);
mUserNotFoundLayout = (LinearLayout)findViewById(R.id.layout_userNotFound_wrapper);
mRetryButton = (Button) findViewById(R.id.button_retry);
final TelephonyManager tm =(TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
Config.log(tm.getDeviceId());
mAdBanner = (AdView)findViewById(R.id.ad_banner);
///
if(mCurrentUser.isVip()){
mAdBanner.setVisibility(View.GONE);
} else {
String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
String deviceId = md5(android_id).toUpperCase();
Log.i("device id=",deviceId);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(deviceId)
.build();
mAdBanner.loadAd(adRequest);
}
mMaleButton.setOnClickListener(this);
mFemaleButton.setOnClickListener(this);
mBothButton.setOnClickListener(this);
mRetryButton.setOnClickListener(this);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
mUserGrid = (GridView) findViewById(R.id.user_near_me_grid);
mWaitForInternetConnectionView = (WaitForInternetConnectionView)findViewById(R.id.wait_for_internet_connection);
setSupportActionBar(mToolbar);
getSupportActionBar().setTitle("Users near");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mSpeedDateDrawer = SpeedDateNavigationDrawer.createDrawer(this);
mUserGrid.setOnItemClickListener(new OnItemClickListener());
setBothButtonSelected(true);
getBothUsers();
}
public String md5(String s) {
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
for (int i=0; i<messageDigest.length; i++)
hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
protected void getMaleUsers(){
mWaitForInternetConnectionView.checkInternetConnection(new WaitForInternetConnectionView.OnConnectionIsAvailableListener() {
@Override
public void onConnectionIsAvailable() {
if(maleAdapter == null){
maleAdapter = new UsernearmeParseAdapter(UsernearmeActivity.this, UsernearmeParseAdapter.TYPE_MALE);
}
currentAdapter = maleAdapter;
mUserGrid.setAdapter(currentAdapter);
currentAdapter.loadObjects();
mWaitForInternetConnectionView.close();
}
});
}
protected void getFemaleUsers(){
mWaitForInternetConnectionView.checkInternetConnection(new WaitForInternetConnectionView.OnConnectionIsAvailableListener() {
@Override
public void onConnectionIsAvailable() {
if(femaleAdapter == null){
femaleAdapter = new UsernearmeParseAdapter(UsernearmeActivity.this, UsernearmeParseAdapter.TYPE_FEMALE);
}
currentAdapter = femaleAdapter;
mUserGrid.setAdapter(currentAdapter);
currentAdapter.loadObjects();
mWaitForInternetConnectionView.close();
}
});
}
protected void getBothUsers(){
mWaitForInternetConnectionView.checkInternetConnection(new WaitForInternetConnectionView.OnConnectionIsAvailableListener() {
@Override
public void onConnectionIsAvailable() {
if(bothAdapter == null){
bothAdapter = new UsernearmeParseAdapter(UsernearmeActivity.this, UsernearmeParseAdapter.TYPE_BOTH);
}
currentAdapter = bothAdapter;
mUserGrid.setAdapter(currentAdapter);
currentAdapter.loadObjects();
mWaitForInternetConnectionView.close();
}
});
}
public void showUserNotFound(){
mUserNotFoundLayout.setVisibility(View.VISIBLE);
}
public void hideUserNotFound(){
mUserNotFoundLayout.setVisibility(View.GONE);
}
@Override
protected void onResume() {
super.onResume();
getBothUsers();
}
@Override
public Toolbar getToolbar() {
return mToolbar;
}
@Override
public Activity getActivity() {
return this;
}
@Override
public int getDriwerId() {
return SpeedDateNavigationDrawer.DRAWER_ID_USERS_NEAR_ME;
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button_male:
setMaleButtonSelected(true);
getMaleUsers();
break;
case R.id.button_female:
setFemaleButtonSelected(true);
getFemaleUsers();
break;
case R.id.button_both:
setBothButtonSelected(true);
getBothUsers();
break;
case R.id.button_retry:
getBothUsers();
break;
}
}
protected void setMaleButtonSelected(boolean selected){
if(selected){
mMaleButton.setTextColor(getResources().getColor(R.color.alizarin));
mMaleButton.setSelected(true);
setFemaleButtonSelected(false);
setBothButtonSelected(false);
} else {
mMaleButton.setTextColor(getResources().getColor(R.color.text_color));
mMaleButton.setSelected(false);
}
}
protected void setFemaleButtonSelected(boolean selected){
if(selected){
mFemaleButton.setTextColor(getResources().getColor(R.color.alizarin));
mFemaleButton.setSelected(true);
setMaleButtonSelected(false);
setBothButtonSelected(false);
} else {
mFemaleButton.setTextColor(getResources().getColor(R.color.text_color));
mFemaleButton.setSelected(false);
}
}
protected void setBothButtonSelected(boolean selected){
if(selected){
mBothButton.setTextColor(getResources().getColor(R.color.alizarin));
mBothButton.setSelected(true);
setFemaleButtonSelected(false);
setMaleButtonSelected(false);
} else {
mBothButton.setTextColor(getResources().getColor(R.color.text_color));
mBothButton.setSelected(false);
}
}
private class OnItemClickListener implements GridView.OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent profileIntent = new Intent(UsernearmeActivity.this, ProfileActivity.class);
profileIntent.putExtra(ProfileActivity.EXTRA_USER_ID, currentAdapter.getItem(position).getObjectId());
UsernearmeActivity.this.startActivity(profileIntent);
}
}
}[code=auto:0]
Tak jak wspominałem na 5.01 i 5.1 działa wszystko ok :/
Połączony post:
[codepublic class UsernearmeActivity extends AppCompatActivity implements ActivityWithToolbar, View.OnClickListener {
private GridView mUserGrid;
private Toolbar mToolbar;
private Drawer mSpeedDateDrawer;
private WaitForInternetConnectionView mWaitForInternetConnectionView;
private User mCurrentUser;
//Gender option buttons
private TextView mMaleButton, mFemaleButton, mBothButton;
private LinearLayout mUserNotFoundLayout;
private Button mRetryButton;
private UsernearmeParseAdapter maleAdapter, femaleAdapter, bothAdapter, currentAdapter;
List<User> mUsers;
private AdView mAdBanner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_usernearme);
mCurrentUser = (User)User.getCurrentUser();
mMaleButton = (TextView) findViewById(R.id.button_male);
mFemaleButton = (TextView) findViewById(R.id.button_female);
mBothButton = (TextView) findViewById(R.id.button_both);
mUserNotFoundLayout = (LinearLayout)findViewById(R.id.layout_userNotFound_wrapper);
mRetryButton = (Button) findViewById(R.id.button_retry);
final TelephonyManager tm =(TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
Config.log(tm.getDeviceId());
mAdBanner = (AdView)findViewById(R.id.ad_banner);
///
if(mCurrentUser.isVip()){
mAdBanner.setVisibility(View.GONE);
} else {
String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
String deviceId = md5(android_id).toUpperCase();
Log.i("device id=",deviceId);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(deviceId)
.build();
mAdBanner.loadAd(adRequest);
}
mMaleButton.setOnClickListener(this);
mFemaleButton.setOnClickListener(this);
mBothButton.setOnClickListener(this);
mRetryButton.setOnClickListener(this);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
mUserGrid = (GridView) findViewById(R.id.user_near_me_grid);
mWaitForInternetConnectionView = (WaitForInternetConnectionView)findViewById(R.id.wait_for_internet_connection);
setSupportActionBar(mToolbar);
getSupportActionBar().setTitle("Users near");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mSpeedDateDrawer = SpeedDateNavigationDrawer.createDrawer(this);
mUserGrid.setOnItemClickListener(new OnItemClickListener());
setBothButtonSelected(true);
getBothUsers();
}
public String md5(String s) {
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
for (int i=0; i<messageDigest.length; i++)
hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
protected void getMaleUsers(){
mWaitForInternetConnectionView.checkInternetConnection(new WaitForInternetConnectionView.OnConnectionIsAvailableListener() {
@Override
public void onConnectionIsAvailable() {
if(maleAdapter == null){
maleAdapter = new UsernearmeParseAdapter(UsernearmeActivity.this, UsernearmeParseAdapter.TYPE_MALE);
}
currentAdapter = maleAdapter;
mUserGrid.setAdapter(currentAdapter);
currentAdapter.loadObjects();
mWaitForInternetConnectionView.close();
}
});
}
protected void getFemaleUsers(){
mWaitForInternetConnectionView.checkInternetConnection(new WaitForInternetConnectionView.OnConnectionIsAvailableListener() {
@Override
public void onConnectionIsAvailable() {
if(femaleAdapter == null){
femaleAdapter = new UsernearmeParseAdapter(UsernearmeActivity.this, UsernearmeParseAdapter.TYPE_FEMALE);
}
currentAdapter = femaleAdapter;
mUserGrid.setAdapter(currentAdapter);
currentAdapter.loadObjects();
mWaitForInternetConnectionView.close();
}
});
}
protected void getBothUsers(){
mWaitForInternetConnectionView.checkInternetConnection(new WaitForInternetConnectionView.OnConnectionIsAvailableListener() {
@Override
public void onConnectionIsAvailable() {
if(bothAdapter == null){
bothAdapter = new UsernearmeParseAdapter(UsernearmeActivity.this, UsernearmeParseAdapter.TYPE_BOTH);
}
currentAdapter = bothAdapter;
mUserGrid.setAdapter(currentAdapter);
currentAdapter.loadObjects();
mWaitForInternetConnectionView.close();
}
});
}
public void showUserNotFound(){
mUserNotFoundLayout.setVisibility(View.VISIBLE);
}
public void hideUserNotFound(){
mUserNotFoundLayout.setVisibility(View.GONE);
}
@Override
protected void onResume() {
super.onResume();
getBothUsers();
}
@Override
public Toolbar getToolbar() {
return mToolbar;
}
@Override
public Activity getActivity() {
return this;
}
@Override
public int getDriwerId() {
return SpeedDateNavigationDrawer.DRAWER_ID_USERS_NEAR_ME;
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button_male:
setMaleButtonSelected(true);
getMaleUsers();
break;
case R.id.button_female:
setFemaleButtonSelected(true);
getFemaleUsers();
break;
case R.id.button_both:
setBothButtonSelected(true);
getBothUsers();
break;
case R.id.button_retry:
getBothUsers();
break;
}
}
protected void setMaleButtonSelected(boolean selected){
if(selected){
mMaleButton.setTextColor(getResources().getColor(R.color.alizarin));
mMaleButton.setSelected(true);
setFemaleButtonSelected(false);
setBothButtonSelected(false);
} else {
mMaleButton.setTextColor(getResources().getColor(R.color.text_color));
mMaleButton.setSelected(false);
}
}
protected void setFemaleButtonSelected(boolean selected){
if(selected){
mFemaleButton.setTextColor(getResources().getColor(R.color.alizarin));
mFemaleButton.setSelected(true);
setMaleButtonSelected(false);
setBothButtonSelected(false);
} else {
mFemaleButton.setTextColor(getResources().getColor(R.color.text_color));
mFemaleButton.setSelected(false);
}
}
protected void setBothButtonSelected(boolean selected){
if(selected){
mBothButton.setTextColor(getResources().getColor(R.color.alizarin));
mBothButton.setSelected(true);
setFemaleButtonSelected(false);
setMaleButtonSelected(false);
} else {
mBothButton.setTextColor(getResources().getColor(R.color.text_color));
mBothButton.setSelected(false);
}
}
private class OnItemClickListener implements GridView.OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent profileIntent = new Intent(UsernearmeActivity.this, ProfileActivity.class);
profileIntent.putExtra(ProfileActivity.EXTRA_USER_ID, currentAdapter.getItem(position).getObjectId());
UsernearmeActivity.this.startActivity(profileIntent);
}
}
}
Tak jak wspominałem na 5.01 i 5.1 działa wszystko ok :/