From f4fc5fae2baeafbb23f31ca2111e49a5d04578b2 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Mon, 20 Feb 2017 13:57:36 +0100 Subject: [PATCH] Cleanup camera preview code. --- .../b44t/ui/Cells/PhotoAttachCameraCell.java | 51 --- .../b44t/ui/Components/ChatAttachAlert.java | 307 ++---------------- .../main/res/drawable-hdpi/instant_camera.png | Bin 2450 -> 0 bytes .../main/res/drawable-mdpi/instant_camera.png | Bin 1639 -> 0 bytes .../res/drawable-xhdpi/instant_camera.png | Bin 2883 -> 0 bytes .../res/drawable-xxhdpi/instant_camera.png | Bin 4196 -> 0 bytes 6 files changed, 27 insertions(+), 331 deletions(-) delete mode 100644 MessengerProj/src/main/java/com/b44t/ui/Cells/PhotoAttachCameraCell.java delete mode 100755 MessengerProj/src/main/res/drawable-hdpi/instant_camera.png delete mode 100755 MessengerProj/src/main/res/drawable-mdpi/instant_camera.png delete mode 100755 MessengerProj/src/main/res/drawable-xhdpi/instant_camera.png delete mode 100755 MessengerProj/src/main/res/drawable-xxhdpi/instant_camera.png diff --git a/MessengerProj/src/main/java/com/b44t/ui/Cells/PhotoAttachCameraCell.java b/MessengerProj/src/main/java/com/b44t/ui/Cells/PhotoAttachCameraCell.java deleted file mode 100644 index 1eb2c6e74..000000000 --- a/MessengerProj/src/main/java/com/b44t/ui/Cells/PhotoAttachCameraCell.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * - * Messenger Android Frontend - * (C) 2013-2016 Nikolai Kudashov - * (C) 2017 Björn Petersen - * Contact: r10s@b44t.com, http://b44t.com - * - * This program is free software: you can redistribute it and/or modify it under - * the terms of the GNU General Public License as published by the Free Software - * Foundation, either version 3 of the License, or (at your option) any later - * version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see http://www.gnu.org/licenses/ . - * - ******************************************************************************/ - - -package com.b44t.ui.Cells; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.widget.FrameLayout; -import android.widget.ImageView; - -import com.b44t.messenger.AndroidUtilities; -import com.b44t.messenger.R; -import com.b44t.ui.Components.LayoutHelper; - -@SuppressLint("NewApi") -public class PhotoAttachCameraCell extends FrameLayout { - - public PhotoAttachCameraCell(Context context) { - super(context); - - ImageView imageView = new ImageView(context); - imageView.setScaleType(ImageView.ScaleType.CENTER); - imageView.setImageResource(R.drawable.instant_camera); - addView(imageView, LayoutHelper.createFrame(80, 80)); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(86), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(80), MeasureSpec.EXACTLY)); - } -} diff --git a/MessengerProj/src/main/java/com/b44t/ui/Components/ChatAttachAlert.java b/MessengerProj/src/main/java/com/b44t/ui/Components/ChatAttachAlert.java index 542db28be..c54ac869b 100644 --- a/MessengerProj/src/main/java/com/b44t/ui/Components/ChatAttachAlert.java +++ b/MessengerProj/src/main/java/com/b44t/ui/Components/ChatAttachAlert.java @@ -29,11 +29,7 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.annotation.SuppressLint; -import android.app.Activity; -import android.app.AlertDialog; import android.content.Context; -import android.content.DialogInterface; -import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.graphics.*; import android.graphics.Rect; @@ -42,12 +38,9 @@ import android.os.Build; import android.text.TextUtils; import android.util.TypedValue; import android.view.Gravity; -import android.view.HapticFeedbackConstants; import android.view.MotionEvent; -import android.view.SoundEffectConstants; import android.view.View; import android.view.ViewAnimationUtils; -import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.animation.DecelerateInterpolator; import android.widget.FrameLayout; @@ -55,8 +48,6 @@ import android.widget.ImageView; import android.widget.TextView; import com.b44t.messenger.AndroidUtilities; -import com.b44t.messenger.MessagesController; -import com.b44t.messenger.ContactsController; import com.b44t.messenger.FileLog; import com.b44t.messenger.LocaleController; import com.b44t.messenger.MediaController; @@ -68,13 +59,10 @@ import com.b44t.messenger.support.widget.RecyclerView; import com.b44t.messenger.TLRPC; import com.b44t.ui.ActionBar.BottomSheet; import com.b44t.ui.ActionBar.Theme; -import com.b44t.ui.Cells.PhotoAttachCameraCell; import com.b44t.ui.Cells.PhotoAttachPhotoCell; -import com.b44t.ui.Cells.ShadowSectionCell; import com.b44t.ui.ChatActivity; import com.b44t.ui.PhotoViewer; -import java.io.File; import java.util.ArrayList; import java.util.HashMap; @@ -113,16 +101,8 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N private LinearLayoutManager layoutManager; private Drawable shadowDrawable; private ViewGroup attachView; - private ListAdapter adapter; - //private TextView hintTextView; private ArrayList innerAnimators = new ArrayList<>(); - //private AnimatorSet currentHintAnimation; - //private boolean hintShowed; - //private Runnable hideHintRunnable; - - private boolean deviceHasGoodCamera = false;//Build.VERSION.SDK_INT >= 16; - private DecelerateInterpolator decelerateInterpolator = new DecelerateInterpolator(); private boolean loading = true; @@ -180,9 +160,6 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N super(context, false); setDelegate(this); setUseRevealAnimation(true); - if (deviceHasGoodCamera) { - //CameraController.getInstance().initCamera(); - } NotificationCenter.getInstance().addObserver(this, NotificationCenter.albumsDidLoaded); shadowDrawable = context.getResources().getDrawable(R.drawable.sheet_shadow); @@ -260,7 +237,7 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N listView.setClipToPadding(false); listView.setLayoutManager(layoutManager = new LinearLayoutManager(getContext())); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); - listView.setAdapter(adapter = new ListAdapter(context)); + listView.setAdapter(new ListAdapter(context)); listView.setVerticalScrollBarEnabled(false); listView.setEnabled(true); listView.setGlowColor(0xfff5f6f7); @@ -280,13 +257,6 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N if (listView.getChildCount() <= 0) { return; } - /*if (hintShowed) { - if (layoutManager.findLastVisibleItemPosition() > 1) { - hideHint(); - hintShowed = false; - ApplicationLoader.applicationContext.getSharedPreferences("mainconfig", Activity.MODE_PRIVATE).edit().putBoolean("bothint", true).commit(); - } - }*/ updateLayout(); } }); @@ -306,7 +276,6 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N attachPhotoRecyclerView.layout(0, t, width, t + attachPhotoRecyclerView.getMeasuredHeight()); progressView.layout(0, t, width, t + progressView.getMeasuredHeight()); lineView.layout(0, AndroidUtilities.dp(96), width, AndroidUtilities.dp(96) + lineView.getMeasuredHeight()); - //hintTextView.layout(width - hintTextView.getMeasuredWidth() - AndroidUtilities.dp(5), height - hintTextView.getMeasuredHeight() - AndroidUtilities.dp(5), width - AndroidUtilities.dp(5), height - AndroidUtilities.dp(5)); int diff = (width - AndroidUtilities.dp(85 * 4 + 20)) / 3; for (int a = 0; a < 8; a++) { @@ -341,60 +310,13 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N if (baseFragment == null || baseFragment.getParentActivity() == null) { return; } - if (!deviceHasGoodCamera || position != 0) { - if (deviceHasGoodCamera) { - position--; - } - ArrayList arrayList = (ArrayList) MediaController.allPhotosAlbumEntry.photos; - if (position < 0 || position >= arrayList.size()) { - return; - } - PhotoViewer.getInstance().setParentActivity(baseFragment.getParentActivity()); - PhotoViewer.getInstance().openPhotoForSelect(arrayList, position, 0, ChatAttachAlert.this, baseFragment); - AndroidUtilities.hideKeyboard(baseFragment.getFragmentView().findFocus()); - } else { - final File path = AndroidUtilities.generatePicturePath(); - /*CameraController.getInstance().takePicture(path, ((PhotoAttachCameraCell) view).cameraSession, new Runnable() { - @Override - public void run() { - PhotoViewer.getInstance().setParentActivity(baseFragment.getParentActivity()); - final ArrayList arrayList = new ArrayList<>(); - int orientation = 0; - try { - ExifInterface ei = new ExifInterface(path.getAbsolutePath()); - int exif = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL); - switch (exif) { - case ExifInterface.ORIENTATION_ROTATE_90: - orientation = 90; - break; - case ExifInterface.ORIENTATION_ROTATE_180: - orientation = 180; - break; - case ExifInterface.ORIENTATION_ROTATE_270: - orientation = 270; - break; - } - } catch (Exception e) { - FileLog.e("messenger", e); - } - arrayList.add(new MediaController.PhotoEntry(0, 0, 0, path.getAbsolutePath(), orientation, false)); - - PhotoViewer.getInstance().openPhotoForSelect(arrayList, 0, 2, new PhotoViewer.EmptyPhotoViewerProvider() { - @Override - public void sendButtonPressed(int index) { - AndroidUtilities.addMediaToGallery(path.getAbsolutePath()); - baseFragment.sendPhoto((MediaController.PhotoEntry) arrayList.get(0)); - } - - @Override - public boolean cancelButtonPressed() { - path.delete(); - return true; - } - }, baseFragment); - } - });*/ + ArrayList arrayList = (ArrayList) MediaController.allPhotosAlbumEntry.photos; + if (position < 0 || position >= arrayList.size()) { + return; } + PhotoViewer.getInstance().setParentActivity(baseFragment.getParentActivity()); + PhotoViewer.getInstance().openPhotoForSelect(arrayList, position, 0, ChatAttachAlert.this, baseFragment); + AndroidUtilities.hideKeyboard(baseFragment.getFragmentView().findFocus()); } }); @@ -446,20 +368,6 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N }); } - /* - hintTextView = new TextView(context); - hintTextView.setBackgroundResource(R.drawable.tooltip); - hintTextView.setTextColor(Theme.CHAT_GIF_HINT_TEXT_COLOR); - hintTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); - hintTextView.setPadding(AndroidUtilities.dp(10), 0, AndroidUtilities.dp(10), 0); - hintTextView.setText(LocaleController.getString("AttachBotsHelp", R.string.AttachBotsHelp)); - hintTextView.setGravity(Gravity.CENTER_VERTICAL); - hintTextView.setVisibility(View.INVISIBLE); - hintTextView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.scroll_tip, 0, 0, 0); - hintTextView.setCompoundDrawablePadding(AndroidUtilities.dp(8)); - attachView.addView(hintTextView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, 32, Gravity.RIGHT | Gravity.BOTTOM, 5, 0, 5, 5)); - */ - for (int a = 0; a < 8; a++) { viewsCache.add(photoAttachAdapter.createHolder()); } @@ -471,90 +379,6 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N } } - /* - private void hideHint() { - if (hideHintRunnable != null) { - AndroidUtilities.cancelRunOnUIThread(hideHintRunnable); - hideHintRunnable = null; - } - if (hintTextView == null) { - return; - } - currentHintAnimation = new AnimatorSet(); - currentHintAnimation.playTogether( - ObjectAnimator.ofFloat(hintTextView, "alpha", 0.0f) - ); - currentHintAnimation.setInterpolator(decelerateInterpolator); - currentHintAnimation.addListener(new AnimatorListenerAdapterProxy() { - @Override - public void onAnimationEnd(Animator animation) { - if (currentHintAnimation == null || !currentHintAnimation.equals(animation)) { - return; - } - currentHintAnimation = null; - if (hintTextView != null) { - hintTextView.setVisibility(View.INVISIBLE); - } - } - - @Override - public void onAnimationCancel(Animator animation) { - if (currentHintAnimation != null && currentHintAnimation.equals(animation)) { - currentHintAnimation = null; - } - } - }); - currentHintAnimation.setDuration(300); - currentHintAnimation.start(); - } - - private void showHint() { - if (SearchQuery.inlineBots.isEmpty()) { - return; - } - SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("mainconfig", Activity.MODE_PRIVATE); - if (preferences.getBoolean("bothint", false)) { - return; - } - hintShowed = true; - - hintTextView.setVisibility(View.VISIBLE); - currentHintAnimation = new AnimatorSet(); - currentHintAnimation.playTogether( - ObjectAnimator.ofFloat(hintTextView, "alpha", 0.0f, 1.0f) - ); - currentHintAnimation.setInterpolator(decelerateInterpolator); - currentHintAnimation.addListener(new AnimatorListenerAdapterProxy() { - @Override - public void onAnimationEnd(Animator animation) { - if (currentHintAnimation == null || !currentHintAnimation.equals(animation)) { - return; - } - currentHintAnimation = null; - AndroidUtilities.runOnUIThread(hideHintRunnable = new Runnable() { - @Override - public void run() { - if (hideHintRunnable != this) { - return; - } - hideHintRunnable = null; - hideHint(); - } - }, 2000); - } - - @Override - public void onAnimationCancel(Animator animation) { - if (currentHintAnimation != null && currentHintAnimation.equals(animation)) { - currentHintAnimation = null; - } - } - }); - currentHintAnimation.setDuration(300); - currentHintAnimation.start(); - } - */ - @Override public void didReceivedNotification(int id, Object... args) { if (id == NotificationCenter.albumsDidLoaded) { @@ -631,14 +455,7 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N photoEntry.thumbPath = null; } } - /* - if (currentHintAnimation != null) { - currentHintAnimation.cancel(); - currentHintAnimation = null; - } - hintTextView.setAlpha(0.0f); - hintTextView.setVisibility(View.INVISIBLE); - */ + attachPhotoLayoutManager.scrollToPositionWithOffset(0, 1000000); photoAttachAdapter.clearSelectedPhotos(); baseFragment = parentFragment; @@ -802,9 +619,6 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N if (open && Build.VERSION.SDK_INT <= 19 && MediaController.allPhotosAlbumEntry == null) { MediaController.loadGalleryPhotosAlbums(0); } - /*if (open) { - showHint(); - }*/ } @Override @@ -826,63 +640,19 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N private class ListAdapter extends RecyclerView.Adapter { - private Context mContext; + private final int TYPE_ATTACH_CELLS = 0; public ListAdapter(Context context) { - mContext = context; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View view; - switch (viewType) { - case 0: - view = attachView; - break; - case 1: - view = new ShadowSectionCell(mContext); - break; - default: - FrameLayout frameLayout = new FrameLayout(mContext);/* -- not used, this is the old "swipe up bot stuff" -- { - @Override - protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - int diff = (right - left - AndroidUtilities.dp(85 * 4 + 20)) / 3; - for (int a = 0; a < 4; a++) { - int x = AndroidUtilities.dp(10) + (a % 4) * (AndroidUtilities.dp(85) + diff); - View child = getChildAt(a); - child.layout(x, 0, x + child.getMeasuredWidth(), child.getMeasuredHeight()); - } - } - }; - for (int a = 0; a < 4; a++) { - frameLayout.addView(new AttachBotButton(mContext)); - }*/ - view = frameLayout; - //frameLayout.setLayoutParams(new RecyclerView.LayoutParams(LayoutHelper.MATCH_PARENT, AndroidUtilities.dp(100))); - break; - } - return new Holder(view); + // currently, we only use one viewType, TYPE_ATTACH_CELLS + return new Holder(attachView); } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { - if (position > 1) { - /* - position -= 2; - position *= 4; - FrameLayout frameLayout = (FrameLayout) holder.itemView; - for (int a = 0; a < 4; a++) { - AttachBotButton child = (AttachBotButton) frameLayout.getChildAt(a); - if (position + a >= SearchQuery.inlineBots.size()) { - child.setVisibility(View.INVISIBLE); - } else { - child.setVisibility(View.VISIBLE); - child.setTag(position + a); - child.setUser(MessagesController.getInstance().getUser(SearchQuery.inlineBots.get(position + a).peer.user_id)); - } - } - */ - } } @Override @@ -892,19 +662,14 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N @Override public int getItemViewType(int position) { - switch (position) { - case 0: - return 0; - case 1: - return 1; - default: - return 2; - } + return TYPE_ATTACH_CELLS; } } private class PhotoAttachAdapter extends RecyclerView.Adapter { + private final int TYPE_ATTACH_PHOTO_CELL = 0; + private Context mContext; private HashMap selectedPhotos = new HashMap<>(); @@ -954,45 +719,30 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { - if (!deviceHasGoodCamera || position != 0) { - if (deviceHasGoodCamera) { - position--; - } - PhotoAttachPhotoCell cell = (PhotoAttachPhotoCell) holder.itemView; - MediaController.PhotoEntry photoEntry = MediaController.allPhotosAlbumEntry.photos.get(position); - cell.setPhotoEntry(photoEntry, position == MediaController.allPhotosAlbumEntry.photos.size() - 1); - cell.setChecked(selectedPhotos.containsKey(photoEntry.imageId), false); - cell.getImageView().setTag(position); - cell.setTag(position); - } + PhotoAttachPhotoCell cell = (PhotoAttachPhotoCell) holder.itemView; + MediaController.PhotoEntry photoEntry = MediaController.allPhotosAlbumEntry.photos.get(position); + cell.setPhotoEntry(photoEntry, position == MediaController.allPhotosAlbumEntry.photos.size() - 1); + cell.setChecked(selectedPhotos.containsKey(photoEntry.imageId), false); + cell.getImageView().setTag(position); + cell.setTag(position); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + // currently, we only use one viewType, TYPE_ATTACH_PHOTO_CELL Holder holder; - switch (viewType) { - case 1: - holder = new Holder(new PhotoAttachCameraCell(mContext)); - break; - default: - if (!viewsCache.isEmpty()) { - holder = viewsCache.get(0); - viewsCache.remove(0); - } else { - holder = createHolder(); - } - break; + if (!viewsCache.isEmpty()) { + holder = viewsCache.get(0); + viewsCache.remove(0); + } else { + holder = createHolder(); } - return holder; } @Override public int getItemCount() { int count = 0; - if (deviceHasGoodCamera) { - count++; - } if (MediaController.allPhotosAlbumEntry != null) { count += MediaController.allPhotosAlbumEntry.photos.size(); } @@ -1001,10 +751,7 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N @Override public int getItemViewType(int position) { - if (deviceHasGoodCamera && position == 0) { - return 1; - } - return 0; + return TYPE_ATTACH_PHOTO_CELL; } } diff --git a/MessengerProj/src/main/res/drawable-hdpi/instant_camera.png b/MessengerProj/src/main/res/drawable-hdpi/instant_camera.png deleted file mode 100755 index 44f8c061f513d7f73fed77c9afc14c0e1d9d5c40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2450 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 diff --git a/MessengerProj/src/main/res/drawable-xhdpi/instant_camera.png b/MessengerProj/src/main/res/drawable-xhdpi/instant_camera.png deleted file mode 100755 index 767694370cc1aaada80c3190dbef9f23b34c959e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2883 zcmaJ@c{r478=tI&N_L6fhH56v7|h5R%NQeM3Nu-oa4n5CJqtL$s`6i1=7Q0F*k zL1UYW#v#jxlrZR=IOjXEe^la(PIbONzP|f<-}hOr-|u(d_jBLZdp)TxM-FY3+bIVE zfwnq2*tv;EJMn9^Sw{TLz0;^F9yED)PactVk{9OBp@Oi1tN<$D$nZZ!b))(RMx1G< zVn85CFrDPd^CUQKU~4M?6OI-OFsM9#Ae<4*y69{NWCYR^Wq);90EWu(07@Z!7HZwnn!{ZP*go!y4fxx4% z=18P1(jIvbfybMhm}0+j?O2o$29?SC$_@O7YxiC5Mk_GbV$XI|4n33_XwP9WfX^wT z>EDk9`(3>++`#Y0V*6b#TpSF1qp<%~=&xJi?%9}rYg_T+TjNui;%?`N+xp*^9_Sm(&cl3xJyPY|B5<@nd8u<>x*DZMz?J?rnRTpomY+ zqGmQatL>?&PHvOZ7FD@pKf_QIxw)b?~n8zl~=?IT&G*FK#yHc_+%z#6vy_Is%@$u?CaAqB5Uch z7a|)Uifz!fq;95Q{{=*v#Jh?H9fpc(or&tLR_x}j4w5$*G+OvpnbZE071$H;r@D)g zrA>1h{e2hCAavHj2E-WGb4nWL21HF~`CX?UG|hzaEymN2){KjG0UfH@zt2|s@+Ye7 z@dR19ElJlaD(HI~hM&WFWNLhaf`fe$AMAxd6eeM{%#oe7*#f}kJ-@shQf%~#!cW>X zzX}7j4%y%Y)9fW&u=jOy!yLC#VE~09O1;?Wes_Rb){trE#2+dzFVD}BNb!N4An?gh z?P!ETSz5u6>=VdTDPgCcZ`RWv6mds29aEOlq=|ZY-C;ArHyK%3ML^K>)b#W;lTO#9 zF&I~Ey5;2M2eeSZp2dZQ?>S;Cwl8a!eNeoN;K0-qYY!)I&gf)4dm$37BkfWl{eCj{ zRUlg+J0P2g;HKnaLwzU|(PAO8O|gRY*JXElhITEJ7im zRuZhrJ`f2%(d6?(e*TiAj|HMWW_U`oGQEpry)+?uRJSa67(Mvvl~+U&Z6}aGKiaA!Bq{BsaB6C5l1x&DxR~yO%&rbrfut~xU&czx`fc)ybTT1n zYirxjqSm{>y3;`{mRUB&=;+yqi1$0K8nVV>h98C8-Km8&ggSV8Yu&l^$xJpTxu~d! z?xHyJ)FSL%wC-sen*raC|Cx^35ha7%Z{y|VH4$v8n{sP0##ZaL;Y; z`!O$rAHD^Kt|cA3VcZWl$6%rpqze0TQ&UsbdLQ{}@GL@8{r{rw4nslMW1&Se->*c4%8IjVWq6 zaNMRvcaf;S=+@}R`ZfK$n_F&<#=YjloI7_8 z{YiRH_=i0BS}jYo7XPB9p`k&cS0cB#xG8B~BA8D9eFnnXVjhx|5;EC!^)jUF`Hh=5 zf7)RPDC(=Y*msAGKbC$rHb(X>Z(TbUz9W$597d58epkW#d#*bY3G8lnz@dC~F9w zK%r11`}c7r%l5KH+I(lHb8CCv{(Axw&5KTZk4I)>qF30nZ5dh~Y3b?kO|)&Rl|{~K zz5JG_qa4n>Yw;x$S1&a;bkzjn^JDC z%x9Ydw(cWTefJ;B8>5z)sd{XjoCjg@z}&X9x{o??3g&e)meFx@o$l|*P3t6Y?~Zy( z%@36dHT!VZ#1eDvN!1f5oQi(fLHla2pI+Q~^DOHWX4+QuWr4c=p+n8TJ}JU*%g{J( zyv3)j7}vY40ri}@3H(AmcXAcFdW%pLAdsi(>FG7xalb3CDu<8lk)L0nlb%rEPcb_O zs)D;WMMwa`t~xM2{GztYQhrOEA^37fh@~4yP$RR;H&1DOMb}OUXn~~_XF1kR5?MbI zwAZlyrbE}up%92e2>NQH{8@FAy0swjRSJ4A-JPsZQ1Od$C?5j(*D((dt+B+>L;W U`nTN-*tpg@;*Z!>+LGh`0wTuK;s5{u diff --git a/MessengerProj/src/main/res/drawable-xxhdpi/instant_camera.png b/MessengerProj/src/main/res/drawable-xxhdpi/instant_camera.png deleted file mode 100755 index 46d242be5942f5cfd4df33240cd9e70eb48ebbae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4196 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