/refactored.java Secret
Created
May 16, 2016 15:49
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.content.ClipData; | |
import android.content.ClipDescription; | |
import android.graphics.Bitmap; | |
import android.graphics.BitmapFactory; | |
import android.graphics.Color; | |
import android.os.Bundle; | |
import android.os.CountDownTimer; | |
import android.os.Handler; | |
import android.support.v7.app.AppCompatActivity; | |
import android.util.Base64; | |
import android.util.Log; | |
import android.view.DragEvent; | |
import android.view.MotionEvent; | |
import android.view.View; | |
import android.widget.ImageView; | |
import android.widget.RelativeLayout; | |
import android.view.ViewGroup.LayoutParams; | |
import android.widget.Toast; | |
import java.util.ArrayList; | |
import java.util.List; | |
public class MatchingGame extends AppCompatActivity implements View.OnDragListener { | |
String TAG = "tag"; | |
RelativeLayout rLayout; | |
int trainingID,objectCount; | |
DatabaseHandler dbHandler; | |
List<TrainingObject> trainingObjectList; | |
ObjectObject object; | |
byte[] imgBytes; | |
int isAnswered = 0; | |
Handler handler; | |
int isDragged=0; | |
// Bitmap bmpAnswer,bmpOne, bmpTwo, bmpThree, bmpFour, bmpFive; | |
ImageView imageAnswer, imageOne, imageTwo, imageThree, imageFour, imageFive; | |
// ImageView image; | |
Bitmap bmp; | |
CountDownTimer cTimer = null; | |
// use on create to only set content view | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
Log.d(TAG,"1isanswered : "+isAnswered); | |
Log.d(TAG, "matchinggame OnCreate"); | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_matchgame); | |
initializeStuff(); | |
} | |
// remove any spaces in code. makes it hard to read | |
private void initializeStuff() { | |
dbHandler = new DatabaseHandler(this); | |
// rLayout = new RelativeLayout(this); | |
object = new ObjectObject(); | |
imageAnswer=new ImageView(this); | |
// setContentView(rLayout); | |
// Log.d(TAG, "mx"); | |
rLayout = (RelativeLayout) findViewById(R.id.relative_layout); | |
trainingID = getIntent().getExtras().getInt("trainingid"); | |
trainingObjectList = new ArrayList<TrainingObject>(); | |
trainingObjectList = dbHandler.getAllTrainingObject(trainingID); | |
//// TODO: 02.05.2016 egitim kismi oalcak burda tek tek gosterilecek | |
rLayout.setBackgroundColor(Color.MAGENTA); | |
// Handler handler = new Handler(); Log.d(TAG,"2isanswered : "+isAnswered); | |
for(int i=0;i<2;i++){Log.d(TAG,"i:"+i); Log.d(TAG,"3tisanswered : "+isAnswered); | |
final int finalI = i; | |
Log.d(TAG,"4isanswered : "+isAnswered); | |
isAnswered = 0; | |
TrainingObject trainingObject = new TrainingObject(); | |
trainingObject = trainingObjectList.get(finalI); | |
objectCount = 2; | |
//test icin | |
Log.d(TAG,"testicin trainingobjectid: "+trainingObject.getTrainingobjectID()); | |
object = dbHandler.getObjectObject(trainingObject.getTrainingobjectAnswer()); | |
if(trainingObject.getTrainingobjectThree()!=0) objectCount++; | |
if(trainingObject.getTrainingobjectFour()!=0) objectCount++; | |
if(trainingObject.getTrainingobjectFive()!=0) objectCount++; | |
Log.d(TAG,"matchinggame objcount: "+objectCount); | |
RelativeLayout.LayoutParams rLayParams = new RelativeLayout.LayoutParams(140,140); | |
rLayParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); | |
rLayParams.addRule(RelativeLayout.CENTER_IN_PARENT); | |
imgBytes = object.getObjectImageBlob(); | |
bmp = BitmapFactory.decodeByteArray(imgBytes, 0, imgBytes.length); | |
imageAnswer.setImageBitmap(bmp); | |
imageAnswer.setTag(trainingObject.getTrainingobjectAnswer()); | |
imageAnswer.setId(R.id.imgAnswer); | |
rLayout.removeAllViews(); | |
rLayout.addView(imageAnswer,rLayParams); | |
rLayParams = null; | |
object = null; | |
bmp = null; | |
imgBytes = null; | |
rLayParams = new RelativeLayout.LayoutParams(140,140); | |
imageOne = new ImageView(MatchingGame.this); | |
object = dbHandler.getObjectObject(trainingObject.getTrainingobjectOne()); | |
imgBytes = object.getObjectImageBlob(); | |
bmp = BitmapFactory.decodeByteArray(imgBytes, 0, imgBytes.length); | |
rLayParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); | |
rLayParams.addRule(RelativeLayout.ABOVE,R.id.imgAnswer); | |
rLayParams.addRule(RelativeLayout.CENTER_IN_PARENT); | |
imageOne.setImageBitmap(bmp); | |
imageOne.setTag(trainingObject.getTrainingobjectOne()); | |
imageOne.setId(R.id.imgOne); | |
rLayout.addView(imageOne,rLayParams); | |
rLayParams = null;; | |
object = null; | |
bmp = null; | |
imgBytes = null; | |
rLayParams = new RelativeLayout.LayoutParams(140,140); | |
imageTwo = new ImageView(MatchingGame.this); | |
object = dbHandler.getObjectObject(trainingObject.getTrainingobjectTwo()); | |
imgBytes = object.getObjectImageBlob(); | |
bmp = BitmapFactory.decodeByteArray(imgBytes, 0, imgBytes.length); | |
rLayParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); | |
rLayParams.addRule(RelativeLayout.BELOW,R.id.imgAnswer); | |
imageTwo.setImageBitmap(bmp); | |
imageTwo.setTag(trainingObject.getTrainingobjectTwo()); | |
imageTwo.setId(R.id.imgTwo); | |
rLayout.addView(imageTwo,rLayParams); | |
imageOne.setOnDragListener(MatchingGame.this); | |
imageTwo.setOnDragListener(MatchingGame.this); | |
imageAnswer.setOnTouchListener(new View.OnTouchListener() { | |
@Override | |
public boolean onTouch(View v, MotionEvent event) { Log.d(TAG,"6isanswered : "+isAnswered); | |
Log.d(TAG,"matchinggame setontouch"); | |
if (event.getAction() == MotionEvent.ACTION_DOWN) { | |
Log.d(TAG,"matchinggame setontouch if yes"); | |
ClipData data = ClipData.newPlainText("", ""); | |
View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(v); | |
v.startDrag(data, shadowBuilder, v, 0); | |
v.setVisibility(View.INVISIBLE); Log.d(TAG,"7isanswered : "+isAnswered); | |
return true; | |
} else { Log.d(TAG,"8isanswered : "+isAnswered); | |
return false; | |
} | |
} | |
}); | |
imageAnswer.setOnDragListener(MatchingGame.this); | |
Log.d(TAG,"*"); | |
while(isAnswered==1){ | |
//Log.d(TAG,"*"); | |
} | |
}Log.d(TAG,"ff"); | |
} | |
public boolean onTouch(View view, MotionEvent motionEvent) { | |
Log.d(TAG,"matchinggame ontouch"); | |
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) { | |
ClipData data = ClipData.newPlainText("", ""); | |
View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view); | |
view.startDrag(data, shadowBuilder, view, 0); | |
view.setVisibility(View.INVISIBLE); | |
return true; | |
} else { | |
return false; | |
} | |
} | |
@Override | |
public boolean onDrag(View receivingLayoutView, DragEvent dragEvent) { Log.d(TAG,"9isanswered : "+isAnswered); | |
// Log.d(TAG, "match game ondrag start"); | |
// View draggedImageView = (View) dragEvent.getLocalState(); | |
// ImageView draggedImg = (ImageView) draggedImageView; | |
// Log.d(TAG, "ondrag start receiving visibility: "+receivingLayoutView.getVisibility()+" draggged visib "+draggedImageView.getVisibility()); | |
// Handles each of the expected events | |
switch (dragEvent.getAction()) { | |
case DragEvent.ACTION_DRAG_STARTED: | |
if (dragEvent.getClipDescription() | |
.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { | |
return true; | |
} | |
// Returns false. During the current drag and drop operation, this View will | |
// not receive events again until ACTION_DRAG_ENDED is sent. | |
return false; | |
case DragEvent.ACTION_DRAG_ENTERED: | |
return true; | |
case DragEvent.ACTION_DRAG_LOCATION: | |
receivingLayoutView.setVisibility(View.VISIBLE); | |
return true; | |
case DragEvent.ACTION_DRAG_EXITED: | |
return true; | |
case DragEvent.ACTION_DROP: Log.d(TAG, "drag action droop"); | |
ImageView dropOntoImg = (ImageView) receivingLayoutView; | |
View draggedImageView = (View) dragEvent.getLocalState(); | |
// ImageView draggedImg = (ImageView) draggedImageView; | |
Log.d(TAG,"droponto: "+receivingLayoutView.getTag()+" dropped: "+draggedImageView.getTag()); | |
// Log.d(TAG, "swtich önesi "+ dropOntoImg.getId()); | |
Log.d(TAG, "swtich önesii "+dropOntoImg.getTag()+" vs "+draggedImageView.getTag()); | |
// ImgTags imgtag = ImgTags.valueOf(dropOntoImg.getTag().toString() | |
//.toUpperCase(Locale.ENGLISH)) | |
//) ; | |
// Log.d(TAG, "swtich ön esi "+imgtag.toString()); | |
//// TODO: 5/15/2016 baska yere bırakinca da false veriyor | |
if(dropOntoImg.getTag().equals(draggedImageView.getTag())){ | |
// Log.d(TAG,"true "+dropOntoImg.getTag()+" droppeged true with dragged"+ draggedImageView.getTag() + ""); | |
return true; | |
} | |
else{ | |
// Log.d(TAG,"false "+dropOntoImg.getTag()+" droppeged true with dragged"+ draggedImageView.getTag() + ""); | |
return false; | |
} | |
case DragEvent.ACTION_DRAG_ENDED: | |
isAnswered = 1; | |
Log.d(TAG, "isAnswered "+isAnswered); | |
draggedImageView = (View) dragEvent.getLocalState(); | |
Log.d(TAG, "drag action ended"); | |
Log.d(TAG, "getResult: " + dragEvent.getResult()); | |
// receivingLayoutView.setVisibility(View.VISIBLE); | |
// draggedImageView.setVisibility(View.VISIBLE); | |
// if the drop was not successful, set the ball to visible | |
if (!dragEvent.getResult()) { | |
Log.d(TAG,"10isanswered : "+isAnswered);isAnswered =2; | |
Log.d(TAG, "false, setting visible"); | |
Toast.makeText(getApplicationContext(),"False",Toast.LENGTH_SHORT).show(); | |
final View droppedView = (View) dragEvent.getLocalState(); | |
droppedView.post(new Runnable() { | |
@Override | |
public void run() { | |
droppedView.setVisibility(View.VISIBLE); | |
} | |
}); Log.d(TAG,"11isanswered : "+isAnswered); | |
} | |
else{ Log.d(TAG,"12isanswered : "+isAnswered);isAnswered=1; | |
Toast.makeText(getApplicationContext(),"True",Toast.LENGTH_SHORT).show(); Log.d(TAG,"13isanswered : "+isAnswered); | |
} | |
//// TODO: 5/15/2016 burda response kaydedilecek | |
return true; | |
// An unknown action type was received. | |
default: | |
Log.d(TAG, "Unknown action type received by OnDragListener."); | |
break; | |
} | |
return false; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment