Skip to content

Instantly share code, notes, and snippets.

View Amir-P's full-sized avatar
🎯
Playing Dart

Amir Panahandeh Amir-P

🎯
Playing Dart
View GitHub Profile
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: NSNotification.Name(rawValue: "keyboardWillShow") , object: NSNotification.Name.UIKeyboardWillShow)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: NSNotification.Name(rawValue: "keyboardWillHide"), object: NSNotification.Name.UIKeyboardWillHide)
hideKeyboardWhenTappedAround()
if let username = defaults.string(forKey: "doc_username") {
if let password = defaults.string(forKey: "doc_password"){
login_password.text = password
login_username.text = username
}
@Amir-P
Amir-P / BaseActivity.java
Last active August 23, 2019 20:50
Change application language programmatically
package com.amir_p.myapplication;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import java.util.Locale;
import 'package:flutter/material.dart';
List<Route> routeStack = List();
class AppNavigatorObserver extends NavigatorObserver {
@override
void didPush(Route route, Route previousRoute) {
super.didPush(route, previousRoute);
routeStack.add(route);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: [AppNavigatorObserver()],
home: HomePage(),
);
}
}
class CategoriesPage extends StatelessWidget {
static MaterialPageRoute getRoute() => MaterialPageRoute(
settings: RouteSettings(name: 'Categories'),
builder: (context) => CategoriesPage());
}
class BreadCrumbNavigator extends StatelessWidget {
final List<Route> currentRouteStack;
BreadCrumbNavigator() : this.currentRouteStack = routeStack.toList();
@override
Widget build(BuildContext context) {
return RowSuper(
children: List<Widget>.from(currentRouteStack
.asMap()
@Amir-P
Amir-P / itm_converter.py
Created June 2, 2020 07:37
Coordinate converter for ITM (IRENET95_Irish_Transverse_Mercator) to WGS-84 and vice versa with use of pyproj
import pyproj
class ITMConverter():
def __init__(self):
self.wgs84 = pyproj.Proj('epsg:4326')
self.itm = pyproj.Proj('epsg:2157')
def convert_to_wgs(self, easting, northing):
return pyproj.transform(self.itm, self.wgs84, easting, northing)
@Amir-P
Amir-P / converter.py
Last active October 2, 2023 09:41
Convert JSON exported contacts from Telegram to vCard (.vcf)
import sys
import json
input_file = sys.argv[1]
output_file = sys.argv[2]
output_file = open(output_file, 'w')
def to_vcf_string(first_name, last_name, phone):
vcf_lines = []
@Amir-P
Amir-P / date_range_picker.dart
Last active September 13, 2020 15:43
Flutter date range picker using private classes from Flutter's SDK
// Original source code is by The Flutter Authors and I changed it slightly to meet my needs.
import 'dart:math' as math;
import 'package:flutter/gestures.dart' show DragStartBehavior;
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
import 'date_utils.dart' as utils;
@Amir-P
Amir-P / monty_hall.py
Created March 26, 2021 06:46
Monty Hall problem simulation in Python
import random
iterations = 10000
change_selection = True
winning_result = []
for i in range(iterations):
doors = [0, 0, 0]
doors[random.randint(0, 2)] = 1