44import android .content .Intent ;
55import android .content .res .Resources ;
66import android .graphics .Bitmap ;
7+ import android .graphics .BitmapFactory ;
8+ import android .graphics .BitmapShader ;
79import android .graphics .PointF ;
10+ import android .graphics .Shader ;
11+ import android .net .Uri ;
12+ import android .os .AsyncTask ;
813import android .os .Bundle ;
14+ import android .provider .MediaStore ;
915import android .support .constraint .ConstraintLayout ;
1016import android .support .constraint .ConstraintSet ;
1117import android .support .design .widget .FloatingActionButton ;
2430import android .view .MotionEvent ;
2531import android .view .View ;
2632import android .widget .Button ;
27- import android .widget .LinearLayout ;
33+ import android .widget .ImageView ;
2834import android .widget .ProgressBar ;
2935import android .widget .RadioButton ;
3036import android .widget .RadioGroup ;
3137import android .widget .RatingBar ;
3238import android .widget .TextView ;
3339
40+ import com .google .firebase .analytics .FirebaseAnalytics ;
3441import com .google .firebase .auth .FirebaseAuth ;
3542import com .google .firebase .auth .FirebaseUser ;
3643import com .google .firebase .database .DataSnapshot ;
3744import com .google .firebase .database .DatabaseError ;
3845import com .google .firebase .database .DatabaseReference ;
3946import com .google .firebase .database .FirebaseDatabase ;
4047import com .google .firebase .database .ValueEventListener ;
41- import com .google .firebase .iid .FirebaseInstanceId ;
4248import com .google .firebase .storage .FirebaseStorage ;
4349import com .google .firebase .storage .StorageMetadata ;
4450import com .google .firebase .storage .StorageReference ;
4551import com .google .firebase .storage .UploadTask ;
4652
53+ import java .io .BufferedInputStream ;
4754import java .io .ByteArrayOutputStream ;
55+ import java .io .IOException ;
56+ import java .io .InputStream ;
57+ import java .net .URL ;
58+ import java .net .URLConnection ;
4859import java .text .DateFormat ;
4960import java .text .SimpleDateFormat ;
5061import java .util .Date ;
5162import java .util .HashMap ;
5263import java .util .Locale ;
5364import java .util .Map ;
65+ import java .util .Objects ;
5466import java .util .Random ;
5567import java .util .Set ;
5668import java .util .UUID ;
@@ -80,6 +92,8 @@ public class DrawingActivity extends AppCompatActivity implements View.OnTouchLi
8092 /* FireBase */
8193 private FirebaseStorage mStorage ;
8294 private DatabaseReference mDatabase ;
95+ private FirebaseAnalytics mFirebaseAnalytics ;
96+ private FirebaseUser mUser ;
8397
8498 Toolbar toolbar ;
8599 ProgressBar barSend ;
@@ -89,7 +103,6 @@ public class DrawingActivity extends AppCompatActivity implements View.OnTouchLi
89103
90104 String userUID ;
91105 String userEmail ;
92- byte [] imgData ;
93106
94107 ConstraintLayout clDrawMain ;
95108 ConstraintSet constraintSet = new ConstraintSet ();
@@ -105,8 +118,6 @@ protected void onCreate(Bundle savedInstanceState) {
105118 super .onCreate (savedInstanceState );
106119 setContentView (R .layout .activity_drawing );
107120
108- Log .d ("TAG" , FirebaseInstanceId .getInstance ().getToken ());
109-
110121 /* Setting up toolbar */
111122 toolbar = findViewById (R .id .drawing_toolbar );
112123 setSupportActionBar (toolbar );
@@ -118,30 +129,54 @@ protected void onCreate(Bundle savedInstanceState) {
118129 drawer .addDrawerListener (toggle );
119130 toggle .syncState ();
120131
132+ mFirebaseAnalytics = FirebaseAnalytics .getInstance (this );
121133 mStorage = FirebaseStorage .getInstance ();
122134 mDatabase = FirebaseDatabase .getInstance ().getReference ();
135+ mUser = FirebaseAuth .getInstance ().getCurrentUser ();
136+ userUID = mUser .getUid ();
137+ userEmail = mUser .getEmail ();
123138
124- FirebaseUser user = FirebaseAuth . getInstance (). getCurrentUser ();
125- userUID = user . getUid ( );
126- userEmail = user . getEmail ( );
139+ // FIXME
140+ TextView tvUserEmail = findViewById ( R . id . tv_user_email );
141+ tvUserEmail . setText ( mUser . isEmailVerified () ? "User is verified" : "User is not verified" );
127142
128143 // get drawing view from XML (where the finger writes the number)
129144 drawView = findViewById (R .id .draw );
130145
131- // TODO where i put this function is very important due to FireBase async!!
146+ /* Get Wurm image from FireBase */
132147 fireBaseRetrieveImage ();
133148
134- //get the model object
149+ /* Get the Draw Model Object */
135150 drawModel = new DrawModel (PIXEL_WIDTH , PIXEL_HEIGHT );
136151 btnMarkBad = findViewById (R .id .btn_mark_bad );
137- // brushColor = btnMarkBad.getBackgroundTintList();
138152 clDrawMain = findViewById (R .id .cl_draw_main );
139153 navView = findViewById (R .id .nav_view );
140154 navHeaderLayout = navView .getHeaderView (0 );
141155 navUserEmail = navHeaderLayout .findViewById (R .id .nav_drawer_email );
142156 navUserEmail .setText (userEmail );
143157 tvImageName = findViewById (R .id .tv_img_name );
144158
159+ TextView navUserName = navHeaderLayout .findViewById (R .id .nav_drawer_name );
160+ String userName = mUser .getDisplayName ();
161+ if (!(userName == null || userName .equals ("" ))) {
162+ navUserName .setText (userName );
163+ }
164+
165+ // FIXME get user profile photo
166+ ImageView navUserImgView = navHeaderLayout .findViewById (R .id .nav_imgview );
167+ // navUserImgView.setImageBitmap(getImageBitmap(mUser.getPhotoUrl().toString()));
168+ //
169+ // Uri userPhotoUrl = mUser.getPhotoUrl();
170+ // if (userPhotoUrl != null){
171+ // try {
172+ // Bitmap userBMP = MediaStore.Images.Media.
173+ // getBitmap(this.getContentResolver(), userPhotoUrl);
174+ // navUserImgView.setImageBitmap(userBMP);
175+ // } catch (IOException e) {
176+ // e.printStackTrace();
177+ // }
178+ // }
179+
145180 constraintSet .clone (clDrawMain );
146181 dp56 = dpToPx (56 );
147182 fabSend = findViewById (R .id .fab_send );
@@ -350,6 +385,7 @@ public void sendImage(View v) {
350385 String path = "uploaded/" + currBatchName + "/" + currImgNo + "/" + uuid + ".jpg" ;
351386 StorageReference mStorageRef = mStorage .getReference (path );
352387
388+ // FIXME change setCustomMetadata or delete it?
353389 StorageMetadata metadata = new StorageMetadata .Builder ()
354390 .setCustomMetadata ("text" , "my first upload" )
355391 .build ();
0 commit comments