Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 151 additions & 0 deletions electionvote/CustomizationActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
package com.example.impactmakers.electionvote;

import android.Manifest;
import android.app.DownloadManager;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider;

import java.io.File;

public class CustomizationActivity extends AppCompatActivity {

private static final int REQUEST_CODE_SELECT_PHOTO = 1;

private static final int REQUEST_CODE_SHARE = 123;

private ImageView mImageViewTemplate;
private ImageView mImageViewUserPhoto;
private EditText mEditTextName;
private Button mButtonSave;

private int mTemplateId;

private boolean isAdjustingText = false;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_customize);

// Get references to UI elements
mImageViewTemplate = findViewById(R.id.image_user_photo);
mEditTextName = findViewById(R.id.edit_text_name);
mButtonSave = findViewById(R.id.button_save);

EditText editText = findViewById(R.id.edit_text_name);
TextView textView = findViewById(R.id.memeTopText);

// Get the ID of the selected template
Intent intent = getIntent();
mTemplateId = intent.getIntExtra("template_id", 0);

// Set the selected template as the background of the template image view
mImageViewTemplate.setImageResource(mTemplateId);
mImageViewTemplate = findViewById(R.id.image_user_photo);
mTemplateId = intent.getIntExtra("template_id", 0);


editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// do nothing
}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// update the text of the TextView with the user entered text
textView.setText(s.toString());
}

@Override
public void afterTextChanged(Editable s) {
// do nothing
}
});

// Add an onClickListener to the "Save" button
mButtonSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Save the customized poster
}
});
Button buttonShare = findViewById(R.id.button_save);
buttonShare.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Share the image file
File imageFile = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "my_image.jpg");
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
Uri imageUri = FileProvider.getUriForFile(CustomizationActivity.this, BuildConfig.APPLICATION_ID + ".fileprovider", imageFile);
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.putExtra(Intent.EXTRA_TEXT, "Check out this image");
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivityForResult(Intent.createChooser(shareIntent, "Share image via"), REQUEST_CODE_SHARE);
}
});
Button buttonDownload = findViewById(R.id.button_save1);
buttonDownload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (ContextCompat.checkSelfPermission(CustomizationActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
// Permission not granted, request it again
ActivityCompat.requestPermissions(CustomizationActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
} else {
// Permission already granted, proceed with download
String imageUrl = getIntent().getStringExtra("imageUri");
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(imageUrl));
request.setTitle("Image Download");
request.setDescription("Downloading image");
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "image.jpg");
DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
if (downloadManager != null) {
downloadManager.enqueue(request);
Toast.makeText(CustomizationActivity.this, "Downloading...", Toast.LENGTH_SHORT).show();
}
}
}
});
}
}






















97 changes: 97 additions & 0 deletions electionvote/MainActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
package com.example.impactmakers.electionvote;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.VideoView;

import com.denzcoskun.imageslider.ImageSlider;
import com.denzcoskun.imageslider.constants.ScaleTypes;
import com.denzcoskun.imageslider.models.SlideModel;
import com.google.android.material.bottomnavigation.BottomNavigationView;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

LinearLayout points_layout;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

points_layout = findViewById(R.id.points_layout);
points_layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,RewardActivity.class);
startActivity(intent);
}
});


ImageSlider imageSlider = findViewById(R.id.imageSlider);
ArrayList<SlideModel> slideModels = new ArrayList<>();

slideModels.add(new SlideModel(R.drawable.vote1, ScaleTypes.FIT));
slideModels.add(new SlideModel(R.drawable.vote2, ScaleTypes.FIT));
slideModels.add(new SlideModel(R.drawable.vote4, ScaleTypes.FIT));
slideModels.add(new SlideModel(R.drawable.vote3, ScaleTypes.FIT));
slideModels.add(new SlideModel(R.drawable.vote5, ScaleTypes.FIT));
imageSlider.setImageList(slideModels, ScaleTypes.FIT);

BottomNavigationView bottomNavigationView = findViewById(R.id.bottomNavigation);
bottomNavigationView.setSelectedItemId(R.id.bottom_home);

bottomNavigationView.setOnItemSelectedListener(item -> {
switch (item.getItemId()) {
case R.id.bottom_home:
return true;
case R.id.bottom_search:
startActivity(new Intent(getApplicationContext(), vote_activity.class));
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
finish();
return true;
case R.id.bottom_settings:
startActivity(new Intent(getApplicationContext(), reward_activity.class));
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
finish();
return true;
case R.id.bottom_profile:
startActivity(new Intent(getApplicationContext(), profile_activity.class));
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
finish();
return true;
}
return false;
});


TextView greetingTextView = findViewById(R.id.greeting_text_view);
String name = getIntent().getStringExtra( "name");
greetingTextView.setText("Welcome " + name);

VideoView videoView = findViewById(R.id.video_view);
String videoPath = "android.resource://" + getPackageName() + "/" + R.raw.awarevideo;

Uri uri = Uri.parse(videoPath);
videoView.setVideoURI(uri);

MediaController mediaController = new MediaController(this);
videoView.setMediaController(mediaController);
mediaController.setAnchorView(videoView);




}
}
68 changes: 68 additions & 0 deletions electionvote/NameActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package com.example.impactmakers.electionvote;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.android.material.textfield.TextInputLayout;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class NameActivity extends AppCompatActivity {

private EditText nameEditText;
private Button submitButton;
private DatabaseReference databaseReference;
private FirebaseUser currentUser;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name);

nameEditText = findViewById(R.id.name_edittext);
submitButton = findViewById(R.id.submit_button);

currentUser = FirebaseAuth.getInstance().getCurrentUser();
if (currentUser != null) {
databaseReference = FirebaseDatabase.getInstance().getReference().child("Users").child(currentUser.getUid());
}

submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = nameEditText.getText().toString().trim();

if (name.isEmpty()) {
Toast.makeText(NameActivity.this, "Please enter your name", Toast.LENGTH_SHORT).show();
} else {
databaseReference.child("name").setValue(name).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(NameActivity.this, "Name saved successfully", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(NameActivity.this, MainActivity.class);
intent.putExtra("name", name);
startActivity(intent);
finish(); // finish this activity and go back to MainActivity
} else {
Toast.makeText(NameActivity.this, "Error: " + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
}
}
});
}
}
Loading