Gala Vista Selam by Sarveswaran V 90807 31865
1) Google Rating 3.0 (138 Review) :
Why review is too low
Review less due to OYO.
Sentiments of Guest:
Service, Cleanliness, Bathroom,
Why are you not asking review?
During stay, keep asking about their stay
How often you visiting the property?: Day by Day
Suggestion: Focus on Cleanliness and take more reviews
2) Old Picture
Try to add new Photos of your hotel. If your rating is low thenafter for new picture, guest will come.
3) Comparison rate OTA vs Self Website vs Old
4) Online Presence is very less. Make Social Profile like Facebook, Instagram, Youtube for Citation
Find Authority of your hotel
5) No Website
6) We need to be market our hotel.
Watch Hotel Health Check Session
Suggestion:
1) Photoshoot
2) Connect with Cooperate like Jeweler Shop
3) Neat, Hygiene
Fun With Computers
Tuesday, October 20, 2026
Hotel Google Business Audit
Tuesday, October 6, 2026
How to get refund from Personal Facebook Ad Account
You have to first Deactivate the Personal Facebook Ad Account.
For Deactivate ad account, you will go to adsmanager.facebook.com --> Ad Account Settings --> By default Ad account Setup selected --> click on Deactivate ad account
It may take up to 2 business days to complete this process. Once closed, you won't be able to run ads on this account.
Wednesday, June 1, 2022
Wednesday, September 8, 2021
Decide Processor
https://laptopmedia.com/in/top-laptop-cpu-ranking/
11th-generation-intel-core-i5-processors list
Rank-16
Intel® Core™ i5-11260H Processor Launched Q2'21 6 4.40 GHz 12 MB Intel® Smart Cache
10th-generation-intel-core-i5-processors list
Rank-22
Intel® Core™ i5-11400H Processor Launched Q2'21 6 4.50 GHz 12 MB Intel® Smart Cache
Rank-26
Intel® Core™ i5-10500H Processor Launched Q4'20 6 4.50 GHz 2.50 GHz 12 MB Intel® Smart Cache
10th-generation-intel-core-i7-processors list
Rank-17
Intel® Core™ i7-10875H Processor Launched Q2'20 8 5.10 GHz 2.30 GHz 16 MB Intel® Smart Cache
Rank-31
Intel® Core™ i7-10750H Processor Launched Q2'20 6 5.00 GHz 2.60 GHz 12 MB Intel® Smart Cache
Lenovo Legion 5 Core i7 10th Gen - (16 GB/512 GB SSD/Windows 10 Home/4 GB Graphics/NVIDIA GeForce GTX 1650/120 Hz) 15IMH05 Gaming Laptop (15.6 Inch, Phantom Black, 2.3 KG
11th-generation-intel-core-i7-processors list
Specs table
| Intel Core i7-10875H | Intel Core i7-10750H | |
|---|---|---|
| Architecture | Comet Lake H | Comet Lake H |
| Cores / Threads | 8/16 | 6/12 |
| Clock Speeds – Base/Boost | 2.30 – 5.10GHz | 2.60 – 5.00GHz |
| Cache | 16MB | 12MB |
| Lithography | 14nm | 14nm |
| TDP | 45W | 45W |
| Memory type | DDR4-2933MHz | DDR4-2933MHz |
| Integrated GPU | Intel UHD Graphics 630 | Intel UHD Graphics 630 |
No. of Cores/ Max Turbo Frequency/ Processor Base Frequency/ Cache
https://laptopmedia.com/in/laptop-specs/lenovo-legion-5i-15-887/
https://www.investorsunderground.com/how-to-build-a-day-trading-computer/
Sunday, April 12, 2020
Friday, April 10, 2020
My Quick Find Gallery (Part 5 - Share, Delete and Update Image)
If your targetSdkVersion >= 24, then we have to use FileProvider class to give access to the particular file or folder to make them accessible for other apps.
Steps to replace file:// URI with content:// URI:
i) Add a FileProvider <provider> tag in AndroidManifest.xml under <application> tag:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
<application
...
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.myfileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider_paths" />
</provider>
</application>
</manifest>
ii) Then create a file_provider_paths.xml file in res/xml folder:
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="share" path="/" />
</paths>
iii) ShowPhoto.java
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_share:
File file = new File(searchFilesPath.get(selectedImagePosition));
Intent shareIntent = new Intent(Intent.ACTION_SEND);
Uri picUri = FileProvider.getUriForFile(this, "com.myfileprovider", file);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_STREAM, picUri);
startActivity(Intent.createChooser(shareIntent, "Share with"));
break;
default:
break;
}
return true;
}
13) Delete Image
Call function alert() on Delete Button in ShowPhoto.java
public void alert(){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setTitle("Delete Photo");
alertDialogBuilder
.setMessage("are you sure you want to delete ?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
delete();
}
})
.setNegativeButton("No",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
public void delete(){
File fdelete = new File(searchFilesPath.get(selectedImagePosition));
if (fdelete.exists()) {
if (fdelete.delete()) {
//Toast.makeText(this, "Successfully Deleted", Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
} else {
Toast.makeText(this, "File not deleted", Toast.LENGTH_LONG).show();
}
}
}
14) Update Image
Call function alert() on Update Button in EditPhoto.java
public void alert(){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setTitle("Update Tag or Photo");
alertDialogBuilder
.setMessage("are you sure you want to update ?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
update();
}
})
.setNegativeButton("No",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
public void update(){
String tag=tag_editText.getText().toString();
if(tag.matches("")) {
Toast.makeText(this, "Please Enter Tag", Toast.LENGTH_LONG).show();
}
else {
if(replaceToInternalStorage(bitmap,tag.trim())) {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
else {
Toast toast = Toast.makeText(this, "File not updated", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
}
}
private boolean replaceToInternalStorage(Bitmap bitmapImage, String filename) {
if (filename.equals(editFileName) && isImageChange == 0)
return true;
else if (!filename.equals(editFileName) && isImageChange == 0) {
File oldFilePath = new File(editFilePath);
File directory = oldFilePath.getParentFile();
File newFilePath = new File(directory, filename + ".jpeg");
int i = 2;
while (newFilePath.exists()) {
newFilePath = new File(directory, filename + "[" + i + "].jpeg");
i++;
}
oldFilePath.renameTo(newFilePath);
return true;
}
else if (isImageChange == 1) {
if(delete(editFilePath)) {
File mypath = new File(editFilePath);
if(!filename.equals(editFileName)){
File oldFile = new File(editFilePath);
File directory = oldFile.getParentFile();
File newFile = new File(directory, filename + ".jpeg");
int i = 2;
while (newFile.exists()) {
newFile = new File(directory, filename + "[" + i + "].jpeg");
i++;
}
mypath=newFile;
}
FileOutputStream fos = null;
try {
fos = new FileOutputStream(mypath);
bitmapImage.compress(Bitmap.CompressFormat.JPEG, 85, fos);
return true;
} catch (Exception e) {
Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show();
return false;//e.printStackTrace();
} finally {
try {
fos.close();
} catch (IOException e) {
Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show();
return false;//e.printStackTrace();
}
}
}
else
return false;
}
else
return false;
}
My Quick Find Gallery (Part 4 - Show Image with Zoom, Drag and Slide Features)
Subtasks:
i) Get the set of images and selected image position from Parent Activity and show selected image in ImageView.
activity_show_photo.xml
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ShowPhoto">
<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="8dp"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
android:layout_marginTop="8dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
ShowPhoto.java
ImageView selectedImage;
ArrayList<String> searchFilesPath;
ArrayList<String> searchFilesName;
int selectedImagePosition;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_photo);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
selectedImage = (ImageView) findViewById(R.id.imageView);
try {
Intent intent = getIntent(); // get Intent which we set from Previous Activity
selectedImagePosition = intent.getIntExtra("selectedImagePosition",0);
searchFilesPath=intent.getStringArrayListExtra("searchFilesPath");
searchFilesName=intent.getStringArrayListExtra("searchFilesName");
//from file path
Bitmap myBitmap = BitmapFactory.decodeFile(searchFilesPath.get(selectedImagePosition));
selectedImage.setImageBitmap(myBitmap);
getSupportActionBar().setTitle(searchFilesName.get(selectedImagePosition));
}
catch(Exception e) {
Toast.makeText(this, e.toString(), Toast.LENGTH_LONG).show();
}
}
ii) setOnTouchListener to ImageView for Zoom, Drag and Slide Features.
ShowPhoto.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_photo);
selectedImage = (ImageView) findViewById(R.id.imageView);
selectedImage.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
ImageView view = (ImageView) v;
view.bringToFront();
viewTransformation(view, event);
return true;
}
});
}
//====================================================================
//ImageView Zoom-in and Zoom-Out
//ZOOM (two finger) / ROTATION (two finger) / DRAG (Single finger)
//====================================================================
float[] lastEvent = null;
float d = 0f;
float newRot = 0f;
private boolean isZoomAndRotate;
private boolean isOutSide;
private static final int NONE = 0;
private static final int DRAG = 1;
private static final int ZOOM = 2;
private int mode = NONE;
private PointF start = new PointF();
private PointF mid = new PointF();
float oldDist = 1f;
private float xCoOrdinate, yCoOrdinate;
private int isPreviousMode = NONE;
private void viewTransformation(View view, MotionEvent event) {
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
// executed after the user touch on the screen
xCoOrdinate = view.getX() - event.getRawX();
yCoOrdinate = view.getY() - event.getRawY();
start.set(event.getX(), event.getY());
isOutSide = false;
mode = DRAG;
lastEvent = null;
break;
case MotionEvent.ACTION_POINTER_DOWN:
oldDist = spacing(event);
if (oldDist > 10f) {
midPoint(mid, event);
mode = ZOOM;
}
lastEvent = new float[4];
lastEvent[0] = event.getX(0);
lastEvent[1] = event.getX(1);
lastEvent[2] = event.getY(0);
lastEvent[3] = event.getY(1);
//d = rotation(event);
break;
case MotionEvent.ACTION_UP:
// executed after the user release the touch on the screen
isZoomAndRotate = false;
if (mode == DRAG) {
float x = event.getX();
float y = event.getY();
if (isPreviousMode != ZOOM) {
if (start.x - x > 1) { //using start.x-x>1, not start.x>x because start.x>x executes in case of tapping also ()
selectedImagePosition = selectedImagePosition + 1;
if (selectedImagePosition <= maxImagePosition) {
selectedImage.setImageBitmap(BitmapFactory.decodeFile(searchFilesPath.get(selectedImagePosition)));
getSupportActionBar().setTitle(searchFilesName.get(selectedImagePosition));
isPreviousMode = NONE;
} else
selectedImagePosition = maxImagePosition;//when reach to last picture and thenafter move the finger again and again then selectedImagePosition values go to very high one by one therefore put the last picture index
} else if (x - start.x > 1) {
selectedImagePosition = selectedImagePosition - 1;
if (selectedImagePosition >= 0) {
selectedImage.setImageBitmap(BitmapFactory.decodeFile(searchFilesPath.get(selectedImagePosition)));
getSupportActionBar().setTitle(searchFilesName.get(selectedImagePosition));
isPreviousMode = NONE;
} else
selectedImagePosition = 0;
}
}
}
case MotionEvent.ACTION_OUTSIDE:
isOutSide = true;
mode = NONE;
lastEvent = null;
case MotionEvent.ACTION_POINTER_UP:
mode = NONE;
lastEvent = null;
break;
case MotionEvent.ACTION_MOVE:
// executed when user move the finger on the screen
if (!isOutSide) {
if (mode == DRAG) {
isZoomAndRotate = false;
if(isPreviousMode == ZOOM)
view.animate().x(event.getRawX() + xCoOrdinate).y(event.getRawY() + yCoOrdinate).setDuration(0).start();
}
if (mode == ZOOM && event.getPointerCount() == 2) {
float newDist1 = spacing(event);
if (newDist1 > 10f) {
float scale = newDist1 / oldDist * view.getScaleX();
view.setScaleX(scale);
view.setScaleY(scale);
isPreviousMode = ZOOM;
}
if (lastEvent != null) {
//newRot = rotation(event);
//view.setRotation((float) (view.getRotation() + (newRot - d)));
}
}
}
break;
}
}
private float rotation(MotionEvent event) {
double delta_x = (event.getX(0) - event.getX(1));
double delta_y = (event.getY(0) - event.getY(1));
double radians = Math.atan2(delta_y, delta_x);
return (float) Math.toDegrees(radians);
}
private float spacing(MotionEvent event) {
float x = event.getX(0) - event.getX(1);
float y = event.getY(0) - event.getY(1);
return (int) Math.sqrt(x * x + y * y);
}
private void midPoint(PointF point, MotionEvent event) {
float x = event.getX(0) + event.getX(1);
float y = event.getY(0) + event.getY(1);
point.set(x / 2, y / 2);
}

