Skip to content

Instantly share code, notes, and snippets.

View jjvillavicencio's full-sized avatar

John Villavicencio jjvillavicencio

View GitHub Profile
@jjvillavicencio
jjvillavicencio / setup.sh
Last active May 2, 2024 17:00
Install Android SDK on Windows Bash (WSL)
cd /home/<user>/
sudo apt-get install unzip
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip sdk-tools-linux-4333796.zip -d Android
rm sdk-tools-linux-4333796.zip
sudo apt-get install -y lib32z1 openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
printf "\n\nexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport PATH=\$PATH:\$JAVA_HOME/bin" >> ~/.bashrc
cd Android/tools/bin
@jjvillavicencio
jjvillavicencio / starUml3.md
Last active January 19, 2024 07:29
StarUml 3.

Recientemente StarUML se actualizó de 2.0 a 3.0. El método de crack original, la forma de modificar la función de verificación de licencia no se puede usar. La ubicación de instalación ha cambiado y se ha encontrado el archivo LicenseManagerDomain.js. ¿Qué debería hacer? El viejo conductor les dijo a todos que resolvieran el problema.

StarUML está escrito en nodejs. Específicamente, está escrito en el marco frontal de Electron. Todo el código fuente de starUML en la nueva versión viene empaquetado por la herramienta asar.

Ingresar al directorio (Windows)

C:\Program Files\StarUML\resources

@jjvillavicencio
jjvillavicencio / flutter-getX-scaffold.md
Last active June 9, 2021 19:36
Personal scaffold for Flutter projects with GetX
lib
|-- data
|   |-- environment.dart
|   |-- models
|   |   |-- api_response_model.dart
|   |   |-- login_request_model.dart
|   |   |-- login_response_model.dart
|   |-- providers
| | |-- api_rest_provider.dart
@jjvillavicencio
jjvillavicencio / marker_network_image.dart
Created April 14, 2020 19:51
Flutter GoogleMaps custom marker with network image
final int targetWidth = 120;
final File markerImageFile = await DefaultCacheManager()
.getSingleFile("${Enviroment.server}$avatar");
final Uint8List markerImageBytes = await markerImageFile.readAsBytes();
final Codec markerImageCodec = await instantiateImageCodec(
markerImageBytes,
targetWidth: targetWidth,
);
@jjvillavicencio
jjvillavicencio / main.dart
Created October 22, 2019 20:09 — forked from RajaShanmugamJM/main.dart
Polyline support in Google Maps Flutter
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
void main() => runApp(Main());
class Main extends StatefulWidget {
@override
_MainState createState() => _MainState();
@jjvillavicencio
jjvillavicencio / dots_indicator.dart
Created July 26, 2019 17:14 — forked from dnys1/dots_indicator.dart
Carousel widget in Flutter
import 'dart:math';
import 'package:flutter/material.dart';
class DotsIndicator extends AnimatedWidget {
const DotsIndicator({
@required this.controller,
@required this.itemCount,
@required this.onPageSelected,
this.color = Colors.white,
import { AbstractControl, ValidatorFn } from '@angular/forms';
import libphonenumber from 'google-libphonenumber';
export class PhoneValidator {
// Inspired on: https://github.com/yuyang041060120/ng2-validation/blob/master/src/equal-to/validator.ts
static validCountryPhone = (countryControl: AbstractControl): ValidatorFn => {
let subscribe: boolean = false;
return (phoneControl: AbstractControl): {[key: string]: boolean} => {
@jjvillavicencio
jjvillavicencio / phone.validator.ts
Created April 23, 2019 19:05 — forked from djabif/phone.validator.ts
Angular Phone + Country Validator
//Complete example for Ionic Framework in: https://ionicthemes.com/tutorials/about/forms-and-validation-in-ionic
//Complete example for Angular 5 in: https://angular-templates.io/tutorials/about/angular-forms-and-validations
import { AbstractControl, ValidatorFn } from '@angular/forms';
import * as libphonenumber from 'google-libphonenumber';
export class PhoneValidator {
// Inspired on: https://github.com/yuyang041060120/ng2-validation/blob/master/src/equal-to/validator.ts
static validCountryPhone = (countryControl: AbstractControl): ValidatorFn => {
@jjvillavicencio
jjvillavicencio / password.validator.ts
Created April 23, 2019 19:04 — forked from djabif/password.validator.ts
Password Validator for ionic apps
import { FormControl, FormGroup } from '@angular/forms';
export class PasswordValidator {
static areEqual(formGroup: FormGroup) {
let val;
let valid = true;
for (let key in formGroup.controls) {
if (formGroup.controls.hasOwnProperty(key)) {
let control: FormControl = <FormControl>formGroup.controls[key];
@jjvillavicencio
jjvillavicencio / form.ts
Created April 23, 2019 19:04 — forked from djabif/form.ts
Ionic Password validator
import { PasswordValidator } from '../../validators/password.validator';
this.matching_passwords_group = new FormGroup({
password: new FormControl('', Validators.compose([
Validators.minLength(5),
Validators.required,
Validators.pattern('^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]+$') //this is for the letters (both uppercase and lowercase) and numbers validation
])),
confirm_password: new FormControl('', Validators.required)
}, (formGroup: FormGroup) => {
return PasswordValidator.areEqual(formGroup);