package
com.example.phoneortabletgfg;
import
androidx.appcompat.app.AppCompatActivity;
import
android.content.Context;
import
android.content.res.Configuration;
import
android.os.Bundle;
import
android.util.DisplayMetrics;
import
android.view.View;
import
android.widget.Button;
import
android.widget.TextView;
public
class
MainActivity
extends
AppCompatActivity {
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = findViewById(R.id.checkphonetablet);
Button buttonX = (Button)findViewById(R.id.button);
buttonX.setOnClickListener(
new
View.OnClickListener() {
public
void
onClick(View v)
{
textView.setText(getDeviceInfo(getApplicationContext(), Device.DEVICE_TYPE));
textView.setVisibility(View.VISIBLE);
}
});
}
public
enum
Device {
DEVICE_TYPE,
}
public
static
String getDeviceInfo (Context context, Device device) {
try
{
if
(device == Device.DEVICE_TYPE) {
if
(isTablet(context)) {
if
(getDevice5Inch(context)) {
return
"This is Tablet"
;
}
else
{
return
"This is Mobile"
;
}
}
else
{
return
"This is Mobile"
;
}
}
}
catch
(Exception e) {
e.printStackTrace();
}
return
""
;
}
private
static
boolean
getDevice5Inch(Context context) {
try
{
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
float
yinch = displayMetrics.heightPixels / displayMetrics.ydpi;
float
xinch = displayMetrics.widthPixels / displayMetrics.xdpi;
double
diagonalinch = Math.sqrt(xinch * xinch + yinch * yinch);
if
(diagonalinch >=
7
) {
return
true
;
}
else
{
return
false
;
}
}
catch
(Exception e) {
return
false
;
}
}
private
static
boolean
isTablet(Context context) {
return
(context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;
}
}